You may have come across an error message that lists the original extended checksum for rsdp. There are several ways to solve this problem, so let’s talk about it now.
Quick and Easy PC Repair
RSDP (Root System Description Pointer) is a data structure used in a kind of Acpi API.
Since version 2.0 the functions have been extended and the following new fields have been added:
RSDP is located either in the areas of the first 1KB EBDA (Extended BIOS Data Region) (2-byte real mode partition pointer is located above 0x40E), or in the memory area 0x000E0000 to 0x000FFFFF (actual BIOS area is less than 1 MB). To find the table, the operating system must find the string “RSD PTR” (note the last character in desktop space) in one of two different fields. This signature always refers to the 16 byte limit.
If you are using UEFI, you can find it somewhere in EFI_SYSTEM_TABLE. Hence, there is no need to search in main memory.
Note. The normal Mai RSDP search methods do not work on UEFI systems. For this reason, the correct and reliable structure is to find it in EFI_SYSTEM_TABLE (see ACPI 6.2, Section 22.214.171.124 “Finding RSDP on UEFI Compatible Systems”).
When booting with a Multiboot2 compatible bootloader, a copy of the RSDP is also contained in the new t Again ACPI RSDP or old ACPI rsdp tag.
After you have identified the RSDP table and which version of ACPI the BIOS is using, be sure to double-check that the checksum is correct.
Determine ACPI Version
The ACPI version can be easily identified using the scope in RSDP. If this field contains 0, then ACPI version 1.0 is used. For the following styles (ACPI versions 2.0 to 6.1), the value 2  is used. The original ACPI version can be obtained from the FADT table.
Before relying on RSDP, we need to make sure the checksum is valid.For ACPI 1.0 (basic structure), add each byte to the structure and make sure the low byte of the result is zero. For ACPI 2.0 and later, you must do the same for the legacy (ACPI 1.0) part of the second program, and then start over for the fields that are part of the ACPI 2.0 extension.
This 8-byte collection (non-null terminated!) must “RSD come with PTR”. It is based on a specific limit of 16 bytes .
Weight added to all other bytes (version 1.0 table) gets the checksum for that particular table. If this value, to which everyone else can be appended and converted to bytes, is not 0, the table should currently be ignored.
ACPI Overview. The higher revision numbers were backward compatible with the lower revision options. For more information, see the “ACPI Discovery Version” section.
Id = “Since_Version_2.0″> Since 2.0
The length of the entire table from offset 0 to the specified end.
Xsdt physical address
64-bit address of the XSDT. If ACPI detects version 2.0, your family should use this table instead of RSDT, even IA-32 if the entire address is converted to uint32_t.
This field is used to define the checksum of the entire table, both checksum fields.
3 bytes are ignored when read and should not be written separately.
What Yes Earlier?
struct RSDPDescriptor signature char ; uint8_t checksum; OEMID char ; uint8_t revision; uint32_t RsdtAddress; __Attribute__ ((packed));
struct RSDPDescriptor20 RSDPDescriptor firstPart;A uint32_t length; uint64_t XsdtAddress; uint8_t Extended checksum; uint8_t reserved ; __Attribute__ ((packed));
Correct calculation of RSDP checksum requires access if you want to list private or even reserved members.
AFAIK RsdpV1Tag :: checksum, RsdpV2Tag :: checksum and RsdpV2Tag :: ext_checksum are clearly not very useful in their normal form. From ACPI 6.3, Section 126.96.36.199, Table 5-27:
This is the checksum associated with the fields … It only includes the first 20 bytes of this garden furniture, bytes 0 to 19, including the total checksum of the field. These bytes must be null.
This is the checksum for the entire table, including the checksums of both subjects.
Correct calculation of both requires access to the checksum Not for private members that are associated with
RsdpV2Tag for which access support is not defined.
Instead of displaying
RsdpV2Tag :: _ rsdt_address and
RsdpV2Tag :: length
RsdpV1Tag :: verify_checksum as your
Current RsdpV2Tag:: verify_checksum and
RsdpV2Tag :: verify_ext_checksum Functions that are currently performing the calculation.
Suma De Comprobacion Extendida Original Rsdp
Rsdp Checksum Originale Esteso
Rsdp Original Utokad Kontrollsumma
Somme De Controle Etendue D Origine Rsdp
Rsdp 원래 확장 체크섬
Ishodnaya Rasshirennaya Kontrolnaya Summa Rsdp
Rsdp Soma De Verificacao Estendida Original
Rsdp Ursprungliche Erweiterte Prufsumme
Rsdp Originele Uitgebreide Controlesom
Rsdp Oryginalna Rozszerzona Suma Kontrolna