[TUHS] Porting 2.11 BSD
lehmann at ans-netz.de
Wed Nov 25 21:51:28 AEST 2015
Nick Downing <downing.nick at gmail.com> wrote:
> According to this:
> You could use only segment 0 and program the code MMU to point segment 0 to
> some physical address and the data and stack MMUs to point segment 0 to
> some other physical address and you have a split I/D system capable of
> running 2.11bsd assuming the compiler knows nothing of segments as you
> said. Or, as outlined in my previous posts you can use a compiler that has
> 23-bit pointers and understands how to output the high 7 bits as the
> segment and the low 16 bits as the logical address each time it
> dereferences a pointer (if such a compiler exists) and port 4.3bsd.
I have two compilers ;)
One compiler which creates "unsegmented binaries". The assembler code which
is generated only uses 16bit pointer addresses (r0-r15) and only works on
This compiler is for example used to compile the boot loaders and standalone
utilities iirc and other "small" binaries on my SYSIII.
There is also a "segmented compiler" which uses the 32bit registers (rr0-rr14)
to store the pointer adresses.
It is currently used for compiling the SYSIII kernel (which is much
the 2.11 BSD kernel I saw) and all other "to big" binaries.
And this would mean that "such a compiler exists" (referencing to your
mail) and I could or should port 4.3 BSD?
More information about the TUHS