Proposed work to be done on Hercules, MVS/380 and PDPCLIB to allow 
proper 31-bit handling

Hercules

1. Pretend to be acknowledging requests from 
MVS/380 for dual DAT, which will work so long as the XA DAT 
request is only for 1:1 mapping of a single address space.
(60 lines of code total)
2. A genuine XA DAT that sits alongside 370 DAT
(300 lines of code total?)
3. Wipe out dual DAT support after all known OSes have been 
updated to do full XA DAT.
(200 lines of code total)


MVS/380

1. Provide tool (existing?) to set AMODE 31 on a module.
(200 lines of code total)
2. Update loader to honor AMODE 31 flag in load module.
(150 lines of code total)
3. Update IFOX to recognize BSM etc instead of using macros
to achieve the same thing.
4. Provide ATL memory cleanup after an abend (sooner).
5. Update linker to handle AMODE and RMODE parameters.
(200 lines of code total)
6. Update IFOX to handle AMODE 31 punching.
(100 lines of code total)
7. Update linker to handle punched AMODE 31
(100 lines of code total)
8. Update SYSUDUMP to dump high memory - all of it, unconditionally, 
which most of the time will simply say "all zero up here!".
(200 lines of code)
9. Create XA segment table for single address space, providing 
1:1 mapping of virtual to real and doing the request via Hercules.
(400 lines of code total)
10. Update GETMAIN to provide linked list of ATL storage.
(100 lines of code if memmgr used)
11. Update FREEMAIN to search linked list of ATL storage.
(200 lines of code total)
12. Multiple address space XA segment tables and make GETMAIN 
aware of these changes.
(4000 lines of code total)
13. Make XA segment tables apply across entire address space.
(4000 lines of code total)
14. Front-end all PUT etc routines that are stored in the DCB 
with AMODE switching. Consider doing this earlier.
(1000 lines of code total)


PDPCLIB (ie every single C program):

1. Remove AMODE switching in mvsstart.asm to produce code that
would be identical to MVS/XA.
(can't be done yet)
2. Get MVS/380 to start using the S/390 interface
(can't be done yet).
