[haiku-commits] Re: r42068 - haiku/trunk/src/system/boot/platform/bios_ia32

  • From: Jérôme Duval <korli@xxxxxxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 9 Jun 2011 18:36:27 +0200

2011/6/9 Stefano Ceccherini <stefano.ceccherini@xxxxxxxxx>:
> Replying to myself: obviously it has to be like that, since you can't map a
> part of a page only. In that case, I wonder why it works in this case, since
> I thought I checked if acpi_description_header is bigger than page size

Theorically one page has to be mapped to read the table length in the
table header, then more pages based on this length. The caller of
acpi_find_table() might map these additional pages himself. At least
smp_do_acpi_config() doesn't, which might explain the problem.
I think acpi_check_rsdt() is also affected, especially when the table
happens to have more than (B_PAGE_SIZE / 4) entries.

Bye,
Jérôme

Other related posts: