Hello.
I propose to change the structure of the HAL. i.e. to build different hal's (hal.dll, halacpi.dll etc not from different libs (generic, acpi, apic, up, legacy etc.), and using constructs like #ifdef _ACPI_HAL_. For example, generic/dma.c in the acpi version need when entering sleep mode and exit from it, you need to save the state of the dma controller, and in non acpi hal - this is not necessary. this is for the future.
p. S. sorry for my English if anything. p. p. S. who speaks Russian, if not difficult, can I write in Russian