Re: factor out common s2ram wakeup code

From: H. Peter Anvin
Date: Tue Jan 22 2008 - 16:51:49 EST


Pavel Machek wrote:

The biggest question is if your 16-bit code needs to touch symbols in the 32/64-bit code, or vice versa. That complicates things a little bit, obviously.

The code is in arch/x86/kernel/acpi/wakeup_32.S
. acpi_copy_wakeup_routine needs to know offsets within 16-bit code. I'd like to somehow call code from arch/x86/boot/video*.c
... current version just took (old) .S code, and cut&paste-s it.


Right, I know.

If not, the easiest way is to link the 16-bit code into a separate binary (including both assembly and C code) which can then be included in the kernel proper as a binary blob. If it *does* need to reference outside symbols, then it needs to be part of the overall link, which means mucking with the top-level link script.
That's obviously more complex.

Either way, the Makefile bit of this will be a lot easier if we move the 16-bit code into a separate directory.

I only need arch/x86/boot/video*.c ...

Let me know which way you think makes more sense, and I can send you a framework patch.

I need to access data in that 16-bit code...

Would a shared structure be OK for that? That's easier than dealing with symbols.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/