Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!uxc!uxc.cso.uiuc.edu!mcdurb!aglew From: aglew@mcdurb.Urbana.Gould.COM Newsgroups: comp.arch Subject: Re: looking for >32-bit address spa Message-ID: <28200298@mcdurb> Date: 9 Apr 89 00:43:00 GMT References: <2569@elxsi.UUCP> Lines: 20 Nf-ID: #R:elxsi.UUCP:2569:mcdurb:28200298:000:1101 Nf-From: mcdurb.Urbana.Gould.COM!aglew Apr 8 19:43:00 1989 > Elxsi has 32 bit pointers but 64-bit registers. We originally made >ints 32 and longs 64, and did manage to port sys V, but it was a real >pain. Customers screamed, and we changed to 32 bit longs and 64 bit >long longs. Networking code -- both ATT & third party -- is full of >the 16/32/32 short/int/long assumption. Sorry, I can't resist this - things like this reinforce my belief that the people who put networking into the kernel hacked and kluged (I was going to say "Were a bunch of XXXX hackers", but that might be unfair. They don't even have the excuse of being the first - there were several preceding implementations, both user and kernel. But I guess they thought that any dirty trick that might get them a bit faster was worthwhile. > HP had a pre-Spectrum project called Beta which had 64 bit registers >and 64-bit pointers, with 16 bits of segment and 48 bits of offset. The >idea was that even the largest databases could be made directly byte >addressable. I don't know how they were going to deal with it in C. Doesn't C require that a pointer fit into a long?