Hi.

I have mentioned the PDOS (Public Domain Operating
System) project before, but just recently I have updated
it to work on z/Arch.

It's still somewhat in "Proof of Concept" stage, but it is
already producing interesting results.

You can obtain a CKD image from the bottom of this page:
http://pdos.org

The image works under standard Hercules, but it probably
won't work on real z/Arch hardware unless you have third-party
hardware to give it a local 3270 to IPL from, or run it under
z/VM.

I'd like to run it from the HMC 3270 "SYSG" instead, but I
don't know what code changes I need to make to do that.

z/PDOS should IPL from all z/Arch hardware, including
hardware that starts in AM64. You can see the startup code here:

https://sourceforge.net/p/pdos/gitcode/ci/master/tree/pdpclib/sapstart.asm

where it does a SIGP which may fail because it is already in
z/Arch mode, but that is ignored, followed by a BSM to put it
into AM64 if it isn't already.

z/PDOS is written in C and assembler and should build on z/OS
(I built on MVS/380). The C compiler used is GCCMVS which
uses the i370 target. The interesting thing about the i370 code
is that it is AMODE-neutral, ie the 32-bit instructions are the
same regardless of whether it is AM24, AM31, AM64 or even a
theoretical AM32. What this means is that when running as AM64
the full 4 GiB is available, and there is a command "memtest"
which demonstrates a memcpy (MVC) crossing the 2 GiB bar.

z/PDOS is designed to run a subset of MVS programs. That
subset is currently largely C programs built with GCCMVS.

There is one other problem in that the i370 target sometimes
produces negative indexes, usually -1, expecting that to be
truncated to a value in the 2 GiB or 4 GiB range. That doesn't
happen in AM64 and instead the index goes into the 4 GiB to
8 GiB range. I was able to get "gcc --version" to work by giving
Hercules 8 GiB of memory instead of 4 GiB, but the proper
solution is to somehow restrict indexing to values in the 0-2 GiB
range, and force an addition/subtraction in the rare situation
where you want a negative index.

Anyone interested in assisting?

Thanks. Paul.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to