On Sun, Jun 09, 2019 at 06:52:34PM +0300, Evgeny Zinoviev wrote: > So here's the patch for MacBooks, I hope it doesn't break anything.
Unfortunately, the call to usb_poll_intr() in usb_check_key() will memcpy maxPacketSize bytes. That would overflow 'struct usbkeyinfo'. -Kevin > On 6/2/19 9:01 PM, Kevin O'Connor wrote: > > On Sun, Jun 02, 2019 at 05:39:11PM +0300, Evgeny Zinoviev wrote: > >> Hi folks. > >> > >> I've recently ported coreboot on MBA 5,2 (13'' mid 2012 model) and MBP > >> 10,1 (15'' mid 2012 retina model). The integrated keyboard on these > >> models is connected as a USB device, not PS/2. I have tested GRUB, > >> SeaBIOS and Tianocore payloads, and the keyboard works in GRUB and > >> Tianocore but not in SeaBIOS. > >> > >> I was advised to send a log to this mailing list. It was created with > >> SEABIOS_DEBUG_LEVEL=9. I'm not yet familiar with SeaBIOS code, but with > >> your help perhaps I can debug and fix this. > >> > > At a quick glance, it appears multiple USB keyboards/mice were found. > > SeaBIOS just chooses one randomly in that case. As a guess, it chose > > the wrong one. If you want to try and debug it, you could look at > > src/hw/usb-hid.c:usb_kbd_setup(). > > > > -Kevin > > _______________________________________________ > > SeaBIOS mailing list -- [email protected] > > To unsubscribe send an email to [email protected] > diff --git a/src/hw/usb-hid.c b/src/hw/usb-hid.c > index fa4d9a2..7d3561c 100644 > --- a/src/hw/usb-hid.c > +++ b/src/hw/usb-hid.c > @@ -59,7 +59,7 @@ usb_kbd_setup(struct usbdevice_s *usbdev > // XXX - this enables the first found keyboard (could be random) > return -1; > > - if (epdesc->wMaxPacketSize != 8) > + if (epdesc->wMaxPacketSize != 8 && epdesc->wMaxPacketSize != 10) > return -1; > > // Enable "boot" protocol. > _______________________________________________ > SeaBIOS mailing list -- [email protected] > To unsubscribe send an email to [email protected] _______________________________________________ SeaBIOS mailing list -- [email protected] To unsubscribe send an email to [email protected]
