On 5/26/18 5:28 AM, Paul Edwards wrote: >> Right off the bat, all the ones that require >> you to set the high order bit of >> the last argument address. > > I am surprised that there exists any such > code in z/Linux. > > That was something traditionally done on z/OS > (but has to be reworked to work as AM64), > but I expected most things in z/Linux to be > written in C, and I didn’t expect C programmers > to manipulate pointers like that. > > Can you name a z/Linux 31-bit routine that > requires such address manipulation?
z/Linux was written for 31-bit addressing hardware. So the top bit is always expected to be set in 32-bit data/31-bit addressing user mode. Think of it that way: You rely on the hardware to resolve addresses. You need to adhere to whatever standard the hardware has for that. You can't make up your own page table design and lookup/TLB logic in software. You can maybe fake something on newer hardware but that'd be a large feat for dubious benefits. Kind regards Philipp Kern ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 ---------------------------------------------------------------------- For more information on Linux on System z, visit http://wiki.linuxvm.org/