Hi,
LtG wrote:
Brendan wrote:
SpyderTL wrote:
I'm using the quick and dirty, scan the AML for the appropriate values method, and it works on every VM and every physical machine I've tried it on. I would consider it an adequate temporary solution until you have time to do a full AML interpreter implementation.
Now that you've finally reached 5 stars; it's time to ask the important question: How long has your "adequate temporary solution" been permanently "temporary" so far?
Isn't it the same solution you suggested, MoBo driver? Just slightly different terminology and needed encapsulation. I plan on using MoBo drivers as well, simply because it means I can bypass certain things that aren't interesting and provide no direct benefit now, only provide wider hardware support.
Also, it has the nice feature of allowing easy way out once/if I ever get to around implementing ACPI/AML/ACPICA, since those would effectively make for a generic MoBo driver..
In general (potentially excluding learning); I go with the "nothing is better than something not done right" theory. The idea is that temporary code ("good enough for now") removes most of the incentive to find/create a correct solution and ends up becoming "permanently temporary" because there's always something more urgent or more interesting; and as time passes you end up just adding more temporary code, hacks and work-arounds until you reach a point where the slightest breeze causes the entire tower to crumble.
My "motherboard drivers, no ACPI" plan means that there's a lot of incentive to create motherboard drivers (no IO APIC or MSI, no power management, no software power off, no fan control, no temperature sensors, etc). It's also idealistic and not necessarily practical (and not something I'd recommend to others), but does give me the option of allowing/using a generic motherboard driver that implements "full ACPI done right" if sacrifices must be made.
Of course part of the reason for the "motherboard drivers, no ACPI" plan is that it allows me to require support for things that ACPI doesn't have (being able to prevent malicious tampering via. digital signatures, including "SMBIOS like" information to get rid of another firmware mess, having 3D models so maintenance people can see where parts are before/without opening the case, etc) and then be able to claim that for supported computers (computers that have a motherboard driver) the OS is superior to every other OS that can't do any of these things because they're limited to what Microsoft wanted added to the ACPI specs.
Cheers,
Brendan