Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rebooting in Protected Mode

Tags:

x86

osdev

In x86 Real Mode rebooting is very simple. You can either use the BIOS or:

jmp 0xFFFF:0000

But how should one reboot when in Protected Mode?

like image 880
Isaac D. Cohen Avatar asked Jun 04 '15 01:06

Isaac D. Cohen


People also ask

How do I boot my Android in Safe Mode?

Press your phone's power button. When the animation starts, press and hold your phone's volume down button. Keep holding it until the animation ends and your phone starts in safe mode. You'll see "Safe mode" at the bottom of your screen.

How to enable protected mode in Internet Explorer?

How to Enable Protected Mode in Internet Explorer 1 Open the Internet Explorer application. 2 On the menu bar, click the Tools button and then click Internet Options. 3 In the Internet Options window, click on the Security tab. See More....

How do I reboot into safe mode on Windows 11?

If you’re having trouble starting your Windows 11 PC, it might help to reboot into safe mode, which temporarily disables drivers and features to make your PC more stable. Here’s how to do it. With Windows 7 and earlier, you could typically start Safe Mode by pressing a function key (such as F8) just after turning on your PC.

What is protected mode and how does it work?

Protected Mode helps prevents malicious software from exploiting vulnerabilities in Internet Explorer, protecting your computer from the most common ways that hackers can gain access to your system.

How to restart Windows 10 from recovery mode?

Or press Windows and I keys on the keyboard to open Windows 10 Settings. Then you can click Update & Security, choose Recovery option from the left panel, and click Restart now under Advanced startup to enter Windows RE (Recovery Environment). Next you can click Troubleshoot -> Advanced options -> Startup Settings -> Restart.


1 Answers

Information on PORT 0xCF9.
In order to write to it, one needs access to kernel mode (Meaning from a kernel driver).

0xCF9 port can get three values for three types of reset:

Writing 4 to 0xCF9:(INIT) Will INIT the CPU. Meaning it will jump to the initial location of booting but it will keep many CPU elements untouched. Most internal tables, chaches etc will remain unchanged by the Init call (but may change during it).

Writing 6 to 0xCF9:(RESET) Will RESET the CPU with all internal tables caches etc cleared to initial state.

Writing 0xE to 0xCF9:(RESTART) Will power cycle the mother board with everything that comes with it.

Example in a windows driver:

__outbyte(0xCF9, 0xE);

like image 173
Sharon Katz Avatar answered Nov 24 '22 23:11

Sharon Katz