Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!swrinde!ucsd!hub!yosemite!bijan From: bijan@yosemite.ucsb.edu (Bijan Forutanpour) Newsgroups: comp.os.mach Subject: Memory Management Question (HAT/IPT) Message-ID: <3532@hub.UUCP> Date: 11 Jan 90 02:09:49 GMT Sender: news@hub.UUCP Reply-To: bijan@yosemite.ucsb.edu (Bijan Forutanpour) Distribution: usa Organization: University of California, Santa Barbara Lines: 32 I had a question to ask those who are familiar with the HAT / IPT, and SEGMENT TABLES... This is for MACH running on the IBM PC RT, but I'm not sure if that is is too relevent here. I'm trying to figure out exactly what virtual addresses are translated to what physical addresses. Please correct me if I'm wrong about the following: * Segment 15 (0xF0000000) is for the IOCC, which I assume translate into AT bus addresses, right? * Segment 0xE0000000 is the "system" segment, which maps directly page for page into physical memory, right? So virtual 0xE0001000 is the same as physical 0x00001000 ? * Whenever I malloc space, I get a (virtual) address in segment 1 (0x10000000) and not in segment 0. That is because the operating system is loaded in the first 500K of physical memory, starting at physical address 0, right? So nothing exists in the remaining virtual address space of segment 0. * WHERE is this "user space" mapping of segment 1 made? Its not in ca/lohatipt.s At least I couldn't find it there where segment E and F are taken care of (my assembly *is* rusty though). Thanks for your time... Bijan bijan%cs@hub.ucsb.edu