What happens when you disable a controller in the BIOS? How does it stop the OS from picking it up when it scans the buses for devices.
Does it stop power going to the controller, if so how does it do that?
Any help would be appreciated.
Thanks.
What happens when you disable a controller in the BIOS? How does it stop the OS from picking it up when it scans the buses for devices.
Does it stop power going to the controller, if so how does it do that?
Any help would be appreciated.
Thanks.
Usually, yes the motherboard can and will cut power from the disabled device (not always, and/or not always enough power to be noticeable). But this is not the only way it can make the device unavailable to the OS.
It can control power to devices because one of the motherboard's primary jobs is to control electricity to and from devices (power, data, 1 vs. 0, on vs. off, etc.).
A motherboard's chipset typically looks like a PCI-E device to the BIOS. It also can control the appearance of other hardware to the rest of the system and would be most likely to be involved in this function.
The chipset's PCI-E device likely has registers that enable or disable other hardware in the system, as well as "lock bit" registers that say "don't accept any more changes until next reset." The BIOS reads the NVRAM and configures the chipset accordingly, then locks it.
The ability to disable virtualization support, as well as locking this change until reboot, is built-in to the CPU itself, changeable via one of the CPU's MSRs. Some other capability may also be controlled by this mechanism. Again, the BIOS would typically program the MSRs in the desired fashion before handing control to a bootloader.
It's also possible that reads and writes to certain I/O ports, memory addresses, I2C or SMBus addresses can also control the appearance of hardware. Most of this stuff would fall under ACPI.