Kernel size over 64K: what is needed, how to implement?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



ELKS can't compile to a size over 64K (the entire kernel must be in the same code segment). ELKS will quickly expand beyond 64K simply by selecting too many features. We need to be able to grow larger than 64K, and I would like to discuss how to do this. My understanding is that bcc/ld86 doesn't deal with 8086 far pointers at all. The outline of the process as it appears to me is as follows:

* Support must be added to bcc/ld86 need to be able to use far pointers.
* A file format must be specified that includes relocation tables for far pointers. * A loader stub must be added to the kernel to relocate its own far pointers at boot. * After this is done, support should be added to load userland executables this way too.

I'd like to know what everyone's thoughts are on this. If we do this work, we will be further tying ourselves to bcc. I am seriously considering adding a repository for dev86 to the ELKS project so that we can change the toolchain as needed with more convenience (comments on this are also welcome.) I see that there is an "ELKS format executable" but it appears that it only deals with memory allocation technicalities, so that isn't very helpful.

Thoughts?

Jody Bruchon
--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel]     [Linux ia64]     [DCCP]     [Linux for ARM]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux