Replies: 2 comments
-
There would be three main issues getting ELKS ported to a non-8086 platform: lack of segmentation in the address space, 8086 ASM code, and incompatible drivers. The lack of segmentation likely found in alternate platforms may not be too much of an issue immediately, as the kernel and applications could essentially assume a single "flat" segment. However, the lack of separate address spaces for data (DS) and code (CS) would cut in half the maximum size of programs that could be created, as both would have to fit inside a single 16-bit address space. The bigger issue is that there is, unfortunately, quite a bit of Intel 8086 assembly code in ELKS, which would all have to be rewritten for the target. While in general writing assembly code is discouraged for portability, the ASM code in ELKS has been written in some cases for speed, and in other cases because it has to be, using instructions not emitted by the A final issue would be that likely most of the character and block device drivers would have to be rewritten. This includes the serial port(s), console, keyboard and disk drivers. Also, the interrupt controller and hardware timer code would need to be written. All-in-all, quite a bit of work, but could be done should someone really want/need to jump into it. |
Beta Was this translation helpful? Give feedback.
-
Thanks for satisfying my curiosity, And thank you for continuining this project, Keep up the fantastic work! :) |
Beta Was this translation helpful? Give feedback.
-
how difficult would it be to port elks to other 16bit platforms?
I am unsure what platforms, but was curious, as i see mainstream linux has many ports to different arch's
for example some sort of 16bit arduino or hobbyist board?
Beta Was this translation helpful? Give feedback.
All reactions