Physical Memory & Virtual Memory

4 messages Options
Embed this post
Permalink
Kumar Sanghvi

Physical Memory & Virtual Memory

Reply Threaded More More options
Print post
Permalink
Hi All,

I have some very basic / fundamental (may even sound silly) questions:-

How do we determine the values for the following variables in the platform/SoCXX/tools/machines.py file:-

1) memory[physical]  .. This value I believe corresponds to RAM (silly question) and probably can be obtained by consulting the TRM of SoCXX. But still, any advise would be helpful.
2) memory[virtual] ... how this value is determined for any particular SoCXX?
3) base_vaddr ... again here, how this value is determined for any particular SoCXX?

4) Based on above values, final memory layout will be reflected in the image.elf file generated. But any basic explanation related to this would be helpful.
5) Also, based on above values, the parameters that we pass to u-boot will also change.

For e.g. consider that an SoCXX has 512MB RAM with address range as : 0x8000 0000 - 0x9FFF FFFF
How do we determine the values of above variables based on this information?

Thanks to all,
Kumar.



_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Gabi Voiculescu

Re: Physical Memory & Virtual Memory

Reply Threaded More More options
Print post
Permalink
Hi.

I can answer the first part.

In your SoCxxx/tools/machines.py you should have the following line for all your platforms (clases):
memory['physical'] = [Region(0x80000000L, 0xA0000000L)]

I personally do not have an explicit memory['virtual'] entry for my platforms.

If I remember correctly, okl4 usually builds in virtual memory the kernel starting at the base 0xf000.0000, with io sfr's mapped starting from 0xf900.0000. I think memory virtual can influence the kernel's base virtual address but I'm not sure.

Good luck,
Gabi Voiculescu

 


--- On Tue, 9/15/09, Kumar Sanghvi <[hidden email]> wrote:

From: Kumar Sanghvi <[hidden email]>
Subject: [okl4-developer] Physical Memory & Virtual Memory
To: [hidden email]
Date: Tuesday, September 15, 2009, 6:19 AM

Hi All,

I have some very basic / fundamental (may even sound silly) questions:-

How do we determine the values for the following variables in the platform/SoCXX/tools/machines.py file:-

1) memory[physical]  .. This value I believe corresponds to RAM (silly question) and probably can be obtained by consulting the TRM of SoCXX. But still, any advise would be helpful.
2) memory[virtual] ... how this value is determined for any particular SoCXX?
3) base_vaddr ... again here, how this value is determined for any particular SoCXX?

4) Based on above values, final memory layout will be reflected in the image.elf file generated. But any basic explanation related to this would be helpful.
5) Also, based on above values, the parameters that we pass to u-boot will also change.

For e.g. consider that an SoCXX has 512MB RAM with address range as : 0x8000 0000 - 0x9FFF FFFF
How do we determine the values of above variables based on this information?

Thanks to all,
Kumar.



-----Inline Attachment Follows-----

_______________________________________________
Developer mailing list
Developer@...
https://lists.okl4.org/mailman/listinfo/developer


_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Kumar Sanghvi

Re: Physical Memory & Virtual Memory

Reply Threaded More More options
Print post
Permalink
Hi Gabi,

Thanks for sharing some information on this.

Regards,
Kumar.

On Tue, Sep 15, 2009 at 9:15 PM, Gabi Voiculescu <[hidden email]> wrote:
Hi.

I can answer the first part.

In your SoCxxx/tools/machines.py you should have the following line for all your platforms (clases):
memory['physical'] = [Region(0x80000000L, 0xA0000000L)]

I personally do not have an explicit memory['virtual'] entry for my platforms.

If I remember correctly, okl4 usually builds in virtual memory the kernel starting at the base 0xf000.0000, with io sfr's mapped starting from 0xf900.0000. I think memory virtual can influence the kernel's base virtual address but I'm not sure.

Good luck,
Gabi Voiculescu

 


--- On Tue, 9/15/09, Kumar Sanghvi <[hidden email]> wrote:

From: Kumar Sanghvi <[hidden email]>
Subject: [okl4-developer] Physical Memory & Virtual Memory
To: [hidden email]
Date: Tuesday, September 15, 2009, 6:19 AM


Hi All,

I have some very basic / fundamental (may even sound silly) questions:-

How do we determine the values for the following variables in the platform/SoCXX/tools/machines.py file:-

1) memory[physical]  .. This value I believe corresponds to RAM (silly question) and probably can be obtained by consulting the TRM of SoCXX. But still, any advise would be helpful.
2) memory[virtual] ... how this value is determined for any particular SoCXX?
3) base_vaddr ... again here, how this value is determined for any particular SoCXX?

4) Based on above values, final memory layout will be reflected in the image.elf file generated. But any basic explanation related to this would be helpful.
5) Also, based on above values, the parameters that we pass to u-boot will also change.

For e.g. consider that an SoCXX has 512MB RAM with address range as : 0x8000 0000 - 0x9FFF FFFF
How do we determine the values of above variables based on this information?

Thanks to all,
Kumar.



-----Inline Attachment Follows-----

_______________________________________________
Developer mailing list
Developer@...
https://lists.okl4.org/mailman/listinfo/developer



_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
houwei

Porting Oklinux

Reply Threaded More More options
Print post
Permalink
In reply to this post by Kumar Sanghvi
Some javascript/style in this post has been disabled (why?)

Hi All,

 

I have some questions  when porting oklinux.

 

Now , oklinux has boot  to Mount filesysterm, but never display “Linux  user startup!”

 

When I open debug option, I found the problem is that  uart is continous printing “uart_open(0) called”, “uart_close(0) called”

 

I don’t know why linux is never startup, and I hope I can get some  useful informations.

 

 

Thanks to all!

                                                                                                                                         Hou wei

 

 

 

 

 

This is some log information:

………………………..

……………………….

TCP cubic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

driver_probe_done: probe_count = 0

sysfs_read_file: count = 32, ppos = 0, buf = 254:0

 

VFS: Mounted root (ext2 filesystem) readonly.

uart_open(0) called

uart_open(0) called

uart_close(0) called

uart_close(0) called

uart_wait_until_sent(0), jiffies=4294937469, expire=4294937473...

uart_wait_until_sent(0), jiffies=4294937475, expire=4294937477...

Trying to free already-free IRQ 12

uart_flush_buffer(0) called

uart_open(0) called

uart_close(0) called

uart_wait_until_sent(0), jiffies=4294937824, expire=4294937828...

uart_flush_buffer(0) called

uart_open(0) called

uart_close(0) called

uart_wait_until_sent(0), jiffies=4294937824, expire=4294937828...

uart_flush_buffer(0) called

uart_open(0) called

uart_close(0) called

uart_wait_until_sent(0), jiffies=4294937824, expire=4294937828...

uart_flush_buffer(0) called

………………………………

………………………………

………………………………

 

 

 

 

 

 


发件人: [hidden email] [mailto:[hidden email]] 代表 Kumar Sanghvi
发送时间: 2009年9月15 11:19
收件人: [hidden email]
主题: [okl4-developer] Physical Memory & Virtual Memory

 

Hi All,

I have some very basic / fundamental (may even sound silly) questions:-

How do we determine the values for the following variables in the platform/SoCXX/tools/machines.py file:-

1) memory[physical]  .. This value I believe corresponds to RAM (silly question) and probably can be obtained by consulting the TRM of SoCXX. But still, any advise would be helpful.
2) memory[virtual] ... how this value is determined for any particular SoCXX?
3) base_vaddr ... again here, how this value is determined for any particular SoCXX?

4) Based on above values, final memory layout will be reflected in the image.elf file generated. But any basic explanation related to this would be helpful.
5) Also, based on above values, the parameters that we pass to u-boot will also change.

For e.g. consider that an SoCXX has 512MB RAM with address range as : 0x8000 0000 - 0x9FFF FFFF
How do we determine the values of above variables based on this information?

Thanks to all,
Kumar.



__________ Information from ESET NOD32 Antivirus, version of virus signature database 4460 (20090926) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer