Oops, here is the correct dmesg-current.out. -- Sheda On Thu, May 22, 2014 at 7:38 PM, Sheda <shedatc%gmail.com@localhost> wrote: > Hi, > > I'm running NetBSD/amd64 on a Lenovo Thinkpad X230i. This machine run > under an EFI. When the EFI is configured to work in legacy-only mode > (i.e., BIOS), NetBSD successfully locate the ACPI RSDT. This is not > the case when configured to work in EFI-only mode (with CSM disabled). > > My understanding is that under EFI, locating the RSDT consist in > walking through the EFI System Table. The physical address of this > table being passed by the bootloader to NetBSD (I don't know of a way > to locate it without the help of the bootloader). > > As this machine use GRUB as bootloader, I > experimented as follow: > - patched GRUB to pass the EFI System Table PA to NetBSD via the > knetbsd command (grub-knetbsd-efi-systbl.patch); > - and made NetBSD use this information in acpi_md_OsGetRootPointer > to attempt to locate the RSDT but falling back to the actual > behaviour if missing/broken (efi.patch). > > I attached the the patches and the dmesg. > > To improve the GRUB part of the solution, I suppose I would need to > make NetBSD/amd64 comply to the multiboot specification. Isn't > NetBSD/i386 compliant? > > To improve the NetBSd part of the solution I wonder if I shouldn't dig > into the CFATTACH and make it a pseudo-device like mainbus0 is. > > Anyway all comments are welcome :) > > Regards, > -- > Sheda
Attachment:
dmesg-current.out
Description: Binary data