The Linux kernel's `acpidump`/`acpica` code and the FreeBSD ACPI-CA subsystem parse tables the exact way you do here: find RSDP, verify its checksum, walk the RSDT/XSDT, and match FACP/APIC/MCFG signatures. A single bit flipped in a vendor's DSDT or a bad checksum is a real-world cause of laptops that won't suspend/resume correctly, which is why Linux ships ACPI table override quirks per-vendor.