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