Re: 64 bits Kernel and 32 bits process
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com On Jan 17, 2005, at 8:17 AM, Shawn Erickson wrote: Does this help a little more? Anyway gonna rehash things using my own words... -Shawn _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... For info on how Mac OS X supports greater then 4GB of physical RAM while still maintaining a 32b kernel, etc... <http://developer.apple.com/technotes/tn/tn2090.html> This is the one I read and it didn't help. <http://developer.apple.com/documentation/DeviceDrivers/Conceptual/ IOKitFundamentals/DataMgmt/chapter_9_section_2.html#//apple_ref/doc/ uid/TP0000019/TPXREF108> On current Mac OS X both user space and kernel space work with virtual addresses that are 32b in size. Going forward the kernel will continue to work with 32b virtual addresses (user space will gain the _option_ for 64b address spaces). Various method exist that allow you share / map memory between the kernel memory space and the various instances user memory space. It depends on what type of driver and in which part of the kernel you are working but assuming IOKit you would use IOMemoryDescriptor and/or friends to manage this for you. Now the VM system on Mac OS X has the ability to address physical memory that is larger then 32b (not sure if it truly support 64b or not of physical addressing, could be 34b, 48b, etc.) when running on systems that support more then 4GB of RAM (PowerMac / Xserve G5s at this time). This capability however is basically transparent and hidden from you even when in the kernel. In other words you never (should never need to) see the true physical address but instead you work with intermediate physical addresses (I/O address as it is called) that gets mapped by hardware (DART) as needed to the true physical address. In other words don't worry about it much just make sure to use the supported memory mapping methods when you do your DMA, user/kernel mapping, etc. appropriate for the type of driver you are working on. Those methods will take care of what is needed for you. This email sent to site_archiver@lists.apple.com
participants (1)
-
Shawn Erickson