On Mon, Oct 27, 2008 at 11:57:05AM -0400, John Baldwin wrote:
> On Saturday 25 October 2008 04:09:45 am Jeremy Chadwick wrote:
> > Just for posterity: the USB Legacy Support BIOS option does not affect
> > natively-connected PS/2 keyboards; you can leave the option enabled even
> > in the scenario where you have a USB keyboard *and* a PS/2 keyboard
> > plugged in; one will not "trump" the other. Instead, you should have
> > two keyboards which function in OSes/environments which lack a USB
> > stack. (That is, until something resets/reassigns the BIOS-controlled
> > interrupt, which will then break USB->PS/2 emulation; the native PS/2
> > keyboard should not be affected by this)

>
> This last statement is not quite true (at least not always true). For many
> systems, the way the PS/2 emulation works is that accesses to the backing I/O
> ports (0x60 and 0x64) case a trap into SMM and the SMI handler in the BIOS
> then talks to the USB controller and keyboard and updates the register values
> to simulate the I/O port accesses. This is disabled by having the USB host
> controller driver frob flags in controller registers to disable the SMI
> traps.


Thanks for cluing me in, John. I'm used to legacy device emulation
being done purely from an interrupt handler point of view (BIOS mapping
code to a specific interrupt), and wasn't even aware of SMM/SMI.

--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/lis...freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"