* [U-Boot] how to understand "uboot is 32bit program even it is in the 64bit mips"
@ 2011-06-22 2:07 hacklu
2011-06-22 5:10 ` Aaron Williams
2011-06-22 7:02 ` [U-Boot] how to understand "uboot is 32bit program even it isin " hacklu
0 siblings, 2 replies; 3+ messages in thread
From: hacklu @ 2011-06-22 2:07 UTC (permalink / raw)
To: u-boot
I have a 64bit cnMips borad.In the mail list archives,it says "uboot is 32bit,even in the 64bit cpu."
but how to understand that?
I have a guess,is the 64bit cpu support a 32bit-mode,then when does it switch to 64bit-mode to load 64-bit linux?
btw,I have an other question,according to <see mips run linux>,linux run in the _xkseg_ segment. so the first two bit virtual address in kernel space must be 11,
like 11xx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx (64bit).
but when I printf a variable' address in a foo driver,is say 0xa80000041c2ea180. not start of _11_.
the memory mapping mode has feazed me for _long_ _long_time.
Dear Wolfgang(or someone else who can anwser me),thanks
--------------
hacklu
2011-06-22
^ permalink raw reply [flat|nested] 3+ messages in thread
* [U-Boot] how to understand "uboot is 32bit program even it is in the 64bit mips"
2011-06-22 2:07 [U-Boot] how to understand "uboot is 32bit program even it is in the 64bit mips" hacklu
@ 2011-06-22 5:10 ` Aaron Williams
2011-06-22 7:02 ` [U-Boot] how to understand "uboot is 32bit program even it isin " hacklu
1 sibling, 0 replies; 3+ messages in thread
From: Aaron Williams @ 2011-06-22 5:10 UTC (permalink / raw)
To: u-boot
We have dealt with this in our release of U-Boot since we only support
64-bit Linux. We use the n32 ABI with U-Boot and set it up to use a TLB
entry to map U-Boot into a 32-bit addressable area.
We have some special memcpy type routines that can handle the 64-bit
addressing.
All of our I/O registers require 64-bit addressing so we use assembly
wrappers to do the actual read/writes to those addresses.
-Aaron Williams
On 06/21/2011 07:07 PM, hacklu wrote:
> I have a 64bit cnMips borad.In the mail list archives,it says "uboot is 32bit,even in the 64bit cpu."
> but how to understand that?
> I have a guess,is the 64bit cpu support a 32bit-mode,then when does it switch to 64bit-mode to load 64-bit linux?
>
> btw,I have an other question,according to <see mips run linux>,linux run in the _xkseg_ segment. so the first two bit virtual address in kernel space must be 11,
> like 11xx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx (64bit).
> but when I printf a variable' address in a foo driver,is say 0xa80000041c2ea180. not start of _11_.
> the memory mapping mode has feazed me for _long_ _long_time.
>
> Dear Wolfgang(or someone else who can anwser me),thanks
>
> --------------
> hacklu
> 2011-06-22
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [U-Boot] how to understand "uboot is 32bit program even it isin the 64bit mips"
2011-06-22 2:07 [U-Boot] how to understand "uboot is 32bit program even it is in the 64bit mips" hacklu
2011-06-22 5:10 ` Aaron Williams
@ 2011-06-22 7:02 ` hacklu
1 sibling, 0 replies; 3+ messages in thread
From: hacklu @ 2011-06-22 7:02 UTC (permalink / raw)
To: u-boot
thanks for you answer. I have got too much.
On 2011-06-22 13:25:34, Aaron Williams wrote:
>We have dealt with this in our release of U-Boot since we only support
>64-bit Linux. We use the n32 ABI with U-Boot and set it up to use a TLB
>entry to map U-Boot into a 32-bit addressable area.
in the U-boot _shell_. I use md command. I found
md 0x100000 and mx0x800100000 are the same.
is that says:the virtual address 0x0 - 0xfffffff(256M, can I called this _kusg_ segment ?)
are mapped to the _physical_ memory address 0x0 - 0xfffffff(256M) with the _TLB_.
and the virtual address 0x80000000 - 0x8fffffff(like that, _kseg0_ ?) is mapped to
the _physical_ memory address 0x0 - 0xfffffff(256M) according to the mips
arch feature.
do I understand correctly?
>We have some special memcpy type routines that can handle the 64-bit
>addressing.
>All of our I/O registers require 64-bit addressing so we use assembly
>wrappers to do the actual read/writes to those addresses.
>-Aaron Williams
>On 06/21/2011 07:07 PM, hacklu wrote:
>> I have a 64bit cnMips borad.In the mail list archives,it says "uboot is 32bit,even in the 64bit cpu."
>> but how to understand that?
>> I have a guess,is the 64bit cpu support a 32bit-mode,then when does it switch to 64bit-mode to load 64-bit linux?
>>
>> btw,I have an other question,according to <see mips run linux>,linux run in the _xkseg_ segment. so the first two bit >>virtual address in kernel space must be 11,
>> like 11xx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx (64bit).
>> but when I printf a variable' address in a foo driver,is say 0xa80000041c2ea180. not start of _11_.
>> the memory mapping mode has feazed me for _long_ _long_time.
I hope you can answer this question for me. I really really want to know this.
thans for your attention.
>> Dear Wolfgang(or someone else who can anwser me),thanks
>>
>>--------------
>> hacklu
>>2011-06-22
>>
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
------------------
hacklu
2011-06-22
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-06-22 7:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-22 2:07 [U-Boot] how to understand "uboot is 32bit program even it is in the 64bit mips" hacklu
2011-06-22 5:10 ` Aaron Williams
2011-06-22 7:02 ` [U-Boot] how to understand "uboot is 32bit program even it isin " hacklu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox