On Wed, Feb 16, 2011 at 11:22 AM, Rajat Sharma [off-list ref] wrote:
quoted
But coming to kernel they distinguish logical address from virtual
address. What is the main difference.
kernel logical address has linear (one-to-one) mapping of physical
address to virtual address range. e.g. kernel logical address (linear
address) from 3G to 4G (on x86) can map physical memory of 0-1G, so it
is intutive to get physical address from a logical address by
subtrating 3G from logical address.
while kernel virtual address can be though of as logical address with
no restriction of linear mapping. Then how they map to physical pages?
Well this is achieved through page tables mapping like user space
address, however the virtual address range falls in 3G-4G (on x86)
range only. Basically you can say it is the process mapping of kernel
virtual address range (3G-4G) in its page tables. CPU works through
page-tables hence requires kernel virtual address in code
instructions. So, it is possible thats a kernel page has kernel
virtual address as well as logical address.
So virtual address allocated to processes in user space is mapped to kernel
virtual address(3g-4g range) using page tables?
quoted
Also, they emphasize on high memory and low memory. Why can not high
memory can be mapped in to kernel completely.
Why is that kernel has less visibility of complete space available on
RAM.
For a limited address space range of linear mapping, physical memory
has to be limited (one-to-one mapping). So, if your system (x86) has
more than 1G physical RAM, Linux provides some mechanism releasing
some small slot between (3G + 896M) to 4G for dynamically mapping High
phyical memory page frames (>896M physical address), since you can't
always map the complete physical RAM all the time. This dynamic
mapping is done through kmap().
quoted
what is very minimal implementation of MMU for real time systems.
# CONFIG_MMU is not set
means linear mapping of all physical address to virtual address. Not
sure, but seems it requires processor support to work on linear
address bypassing page-tables conversion.
Rajat
On Tue, Feb 15, 2011 at 10:45 PM, Sri Ram Vemulpali
[off-list ref] wrote:
quoted
As was suggested I started reading chap 15v from LDD. I ran more into
confusion state.
I know that virtual address(process space), linear address
(segmentation) and physical address. And how are they resolved from
virtual to physical.
But coming to kernel they distinguish logical address from virtual
address. What is the main difference.
Also, they emphasize on high memory and low memory. Why can not high
memory can be mapped in to kernel completely.
Why is that kernel has less visibility of complete space available on
RAM.
quoted
Linux MM is it a very specific implementation of linux, or Is that a
traditional implementation.
what is very minimal implementation of MMU for real time systems.
Thanks in advance.
--Sri.
On Tue, Feb 15, 2011 at 12:54 AM, Ankita Garg [off-list ref] wrote:
quoted
On Wed, Feb 09, 2011 at 06:45:42PM -0500, Sri Ram Vemulpali wrote:
quoted
Hi all,
How do I map some space between kernel and user space. Can anyone
point me in to right direction. I was trying to map the packets from
my netfilter function to kernel user space, to avoid over head of
copying. Thanks in advance.
You can take a look at remap_pfn_range() routine when implementing mmap
in your driver.
--
Regards,
Ankita Garg (ankita at in.ibm.com)
Linux Technology Center
IBM India Systems & Technology Labs,
Bangalore, India
--
Regards,
Sri.
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies at kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110216/3e09a60e/attachment-0001.html