Damien Zammit, le ven. 26 mars 2021 20:48:47 +1100, a ecrit:
> -        /* check alignment. */
> -        if (acpi_check_rsdp_align(base) == ACPI_BAD_ALIGN)
> -            return NULL;
> -
> -        /* Search the RSDP in first 1024 bytes from EDBA. */
> -        rsdp = acpi_search_rsdp((void*)base,1024);
> +    rsdp = acpi_search_rsdp((void *)phystokv(base), 1024);
> +    if (acpi_check_rsdp_align(rsdp) == ACPI_BAD_ALIGN) {

? Checking for alignment after having done the search? Better check for
alignment before the search.

> +        return NULL;
>      }
>  
>      if (rsdp == NULL) {
>          /* If RSDP isn't in EDBA, search in the BIOS read-only memory space 
> between 0E0000h and 0FFFFFh */
> -        rsdp = acpi_search_rsdp((void*) 0x0e0000, 0x100000 - 0x0e0000);
> +        rsdp = acpi_search_rsdp((void *)phystokv(0xe0000), 0x20000);

Leave it 0x100000 - 0x0e0000, it's clearer.

Samuel

Reply via email to