Topic: Detection of ACPI PC HAL vs. ACPI Uniprocessor/Multiprocessor HAL
I was wondering if there has been any progress made on how to detect and automatically choose between the three main types of HALs--ACPI PC, Uniprocessor, and Multiprocessor--instead of just the latter two. This is for Windows XP SP3.
My current method for working around this issue is to use an image which allows Sysprep to choose Uniprocessor/Multiprocessor, and if the computer needs the older ACPI PC HAL, just manually overlay a "corrected" sysprep.inf on top of that image (which tells Sysprep to leave the default ACPI PC HAL unchanged). This works well, but I would prefer an automated solution.
I was hoping that OfflineSysprep would be the answer, but unfortunately it doesn't seem to be. The last information I can find from Galapo is this:
OfflineSysPrep auto HAL detection on first boot only works with acpi uniprocessor and acpi multiprocessor machines. . . . I wish I had hardware to test and then I could improve it. I would like to know of a way to detect whether a system supports acpi but not acpi uniprocessor. Probably this would then solve most of your issues. Then I would like a way to detect whether a system supports acpi and if not default to standard.
So, in other words, it does the same thing the Sysprep is already doing for me.
I was hoping to perhaps modify OfflineSysprep's process myself to make it work for all three HALs. As of yet, I can't find a reliable way to do it. Currently, OSP just grabs the number of cores and/or hyperthreading capability from the CrystalCPUID dump. Is there a CPUID feature flag that could delineate support for ACPI Uniprocessor vs. ACPI PC (the older one)?
I'll keep poking around myself, but I thought I might ask the much smarter people on this forum to see if any progress has been made here. Thanks.