tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: EFI and ACPI



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



Home | Main Index | Thread Index | Old Index