Re: Doubt regarding memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 3/5/07, Tzahi Fadida <Tzahi.ML2@xxxxxxxxx> wrote:
On Sunday 04 March 2007 14:21, Mulyadi Santosa wrote:
> > I have a feeling i did not understand how many virtual pages the MMU can
> > address. Can anyone correct me/clarify?
>
> Neither do I, I am still reading about it. So, if you can help us here
> clarifying this issue, personally I welcome your help.

Well, i checked it out again and i misscalculated a bit. You actually can
address the whole 4gb. It works like this: You have a Page Directory Page
(PDP) which contains 1024 entries of 4 bytes that each points to a Page Table
Page (PTP) that each contains 1024 entries of 4 bytes that points to a 4096
bytes pages of physical memory. i.e. 1024 * 1024 * 4096 = 4gb of addressable
memory. Once you wish to do context switching, you change the CR3 register to
points to the process's PDP. I also understand that some architectures cache
some of this page tables and when you need another part of the table it is
assisted by hardware/software, which is what got me confused of how much it
can hold in the first place. I was probably looking at the cache instead of
the real table.

--
Regards,
Tzahi.
--
Tzahi Fadida
Blog: http://tzahi.blogsite.org | Home Site: http://tzahi.webhop.info
WARNING TO SPAMMERS: see at
http://members.lycos.co.uk/my2nis/spamwarning.html

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ

 
Hi all,
thanks for your valuable responses..
 
Still i have some doubts. by looking in to the /proc/iomem file. i came to know that all the hardware divices are mapped on the user space only(within 3GB space).
 
And the driver code used to do the remapping taking this user space address as a  input and will map in to the kernel space...right?(ex: For network cards)
So, is this necessary to map in to the kernel space ?can we use the memory which is mapped in the user space ??
 

00000000-0009fbff : System RAM

0009fc00-0009ffff : reserved

000a0000-000bffff : Video RAM area

000c0000-000c7fff : Video ROM

000f0000-000fffff : System ROM

00100000-0ffcffff : System RAM

00100000-0026f2c7 : Kernel code

0026f2c8-0036e543 : Kernel data

0ffd0000-0fff0bff : reserved

0fff0c00-0fffbfff : ACPI Non-volatile Storage

0fffc000-0fffffff : reserved

10000000-100003ff : PCI device 8086:24ca (Intel Corp.)

10400000-107fffff : PCI CardBus #03

10800000-10bfffff : PCI CardBus #03

10c00000-10ffffff : PCI CardBus #04

11000000-113fffff : PCI CardBus #04

11000000-11001fff : PCI device 1260:3886

11000000-11001fff : Prism SoftMAC PCI

11400000-117fffff : PCI CardBus #05

11800000-11bfffff : PCI CardBus #05

90000000-9000ffff : PCI device 14e4:165e (Broadcom Corporation)

90080000-9008ffff : PCI device 168c:0013

90100000-90100fff : PCI device 1217:7223 (O2 Micro, Inc.)

90180000-90180fff : PCI device 1217:7223 (O2 Micro, Inc.)

90200000-90200fff : PCI device 1217:7110 (O2 Micro, Inc.)

90280000-90280fff : PCI device 1217:7223 (O2 Micro, Inc.)

90300000-903fffff : PCI Bus #01

90300000-9030ffff : PCI device 1002:4e50 (ATI Technologies Inc)

98000000-9fffffff : PCI Bus #01

98000000-9fffffff : PCI device 1002:4e50 (ATI Technologies Inc)

a0000000-a00003ff : Intel Corp. 82801DB USB EHCI Controller

a0000000-a00003ff : ehci-hcd

a0100000-a01001ff : Intel Corp. 82801DB AC'97 Audio

a0180000-a01800ff : Intel Corp. 82801DB AC'97 Audio

b0000000-bfffffff : PCI device 8086:3340 (Intel Corp.)


--
regards,
Mansha

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux