On 02.02.2009 18:47, ron minnich wrote:
Another question.
Were we to follow the device object model, isn't it more proper to add a new device_operations struct member to devices to generate ACPI? Then we add another pass to the device code which walks the tree and each device can optionally create ACPI as it needs to. The first object is the mainboard, and this could do all the initial setup for the AML code generation.
If we had this I think the weak symbol would not be needed. This would drop very nicely in to v3: I would add a phase7_acpi struct member to device_operations.
That idea is really awesome.
However, it is rather inconvenient to generate all the ACPI code at runtime. Of course, we need ACPI code generation for exchangeable devices like the CPU. But tables which are static anyway should not need code generation. What do you think about a solution which simply references the externally compiled AML for static table parts? That way, we have one common interface and only the minimum needed complexity.
Regards, Carl-Daniel