public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] What's the definition of VROM memory region used for?
@ 2001-08-02 16:57 Cristiano Ligieri Pereira
  2001-08-02 17:11 ` Mark Salter
  0 siblings, 1 reply; 10+ messages in thread
From: Cristiano Ligieri Pereira @ 2001-08-02 16:57 UTC (permalink / raw)
  To: ecos-discuss

I've seen it in the XScale IQ80310 port and couldn't figure out what's
the purpose of it.

Some clarification is appreciated.

Thanks,
Cristiano.

------------------------------------------------------------
Cristiano Ligieri Pereira - http://www.ics.uci.edu/~cpereira

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-02 16:57 [ECOS] What's the definition of VROM memory region used for? Cristiano Ligieri Pereira
@ 2001-08-02 17:11 ` Mark Salter
  2001-08-02 17:44   ` Cristiano Ligieri Pereira
  2001-08-02 21:02   ` Cristiano Ligieri Pereira
  0 siblings, 2 replies; 10+ messages in thread
From: Mark Salter @ 2001-08-02 17:11 UTC (permalink / raw)
  To: cpereira; +Cc: ecos-discuss

>>>>> Cristiano Ligieri Pereira writes:

> I've seen it in the XScale IQ80310 port and couldn't figure out what's
> the purpose of it.

> Some clarification is appreciated.

Its part of the trickery with fixed_vectors on the IQ80310. Flash is at
address zero, but that is where the CPU looks for exception vectors and
where the arm hal expects the exception vectors to be. VROM is the 4K
page which maps virtual address zero (where the vectors need to be) to 
RAM so that the vectors are writable.

--Mark

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-02 17:11 ` Mark Salter
@ 2001-08-02 17:44   ` Cristiano Ligieri Pereira
  2001-08-02 18:07     ` Mark Salter
  2001-08-02 21:02   ` Cristiano Ligieri Pereira
  1 sibling, 1 reply; 10+ messages in thread
From: Cristiano Ligieri Pereira @ 2001-08-02 17:44 UTC (permalink / raw)
  To: Mark Salter; +Cc: ecos-discuss

How this mapping is implemented? MMU? I've seen some macros in the flash.c
files (FLASH_P2V) but honestly I'm still confused on how this mappping
happens...

Cristiano.

------------------------------------------------------------
Cristiano Ligieri Pereira - http://www.ics.uci.edu/~cpereira

On Thu, 2 Aug 2001, Mark Salter wrote:

> >>>>> Cristiano Ligieri Pereira writes:
> 
> > I've seen it in the XScale IQ80310 port and couldn't figure out what's
> > the purpose of it.
> 
> > Some clarification is appreciated.
> 
> Its part of the trickery with fixed_vectors on the IQ80310. Flash is at
> address zero, but that is where the CPU looks for exception vectors and
> where the arm hal expects the exception vectors to be. VROM is the 4K
> page which maps virtual address zero (where the vectors need to be) to 
> RAM so that the vectors are writable.
> 
> --Mark
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-02 17:44   ` Cristiano Ligieri Pereira
@ 2001-08-02 18:07     ` Mark Salter
  0 siblings, 0 replies; 10+ messages in thread
From: Mark Salter @ 2001-08-02 18:07 UTC (permalink / raw)
  To: cpereira; +Cc: ecos-discuss

>>>>> Cristiano Ligieri Pereira writes:

> How this mapping is implemented? MMU? I've seen some macros in the flash.c
> files (FLASH_P2V) but honestly I'm still confused on how this mappping
> happens...

Yes, MMU. The FLASH_P2V is where the remapping of the 1st 4K of flash is
handled. The MMU tables is setup in:

  hal/arm/iq80310/current/include/hal_platform_setup.h

Basically, everything is mapped one-to-one except the first 4K of
flash and RAM are swapped.

--Mark

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-02 17:11 ` Mark Salter
  2001-08-02 17:44   ` Cristiano Ligieri Pereira
@ 2001-08-02 21:02   ` Cristiano Ligieri Pereira
  2001-08-03  4:50     ` Mark Salter
  1 sibling, 1 reply; 10+ messages in thread
From: Cristiano Ligieri Pereira @ 2001-08-02 21:02 UTC (permalink / raw)
  To: Mark Salter; +Cc: ecos-discuss

Is this something specific to the IQ80310? Or it's something tighened to
the arm hal and hence should be present in all the ARM ports?

I don't remember to have seen this in other ports...

thanks again,
Cristiano.

------------------------------------------------------------
Cristiano Ligieri Pereira - http://www.ics.uci.edu/~cpereira

> Its part of the trickery with fixed_vectors on the IQ80310. Flash is at
> address zero, but that is where the CPU looks for exception vectors and
> where the arm hal expects the exception vectors to be. VROM is the 4K
> page which maps virtual address zero (where the vectors need to be) to 
> RAM so that the vectors are writable.
> 
> --Mark
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-02 21:02   ` Cristiano Ligieri Pereira
@ 2001-08-03  4:50     ` Mark Salter
  2001-08-03  7:59       ` Cristiano Ligieri Pereira
  0 siblings, 1 reply; 10+ messages in thread
From: Mark Salter @ 2001-08-03  4:50 UTC (permalink / raw)
  To: cpereira; +Cc: ecos-discuss

>>>>> Cristiano Ligieri Pereira writes:

> Is this something specific to the IQ80310? Or it's something tighened to
> the arm hal and hence should be present in all the ARM ports?

> I don't remember to have seen this in other ports...

No. Its just with IQ80310. AFAIK, other ARM ports remap all of RAM to start
at address zero. Because of other constraints, we had to remap only the
first 4K of ram to address zero.

--Mark


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-03  4:50     ` Mark Salter
@ 2001-08-03  7:59       ` Cristiano Ligieri Pereira
  2001-08-03  8:14         ` Mark Salter
  0 siblings, 1 reply; 10+ messages in thread
From: Cristiano Ligieri Pereira @ 2001-08-03  7:59 UTC (permalink / raw)
  To: Mark Salter; +Cc: ecos-discuss

> No. Its just with IQ80310. AFAIK, other ARM ports remap all of RAM to start
> at address zero. Because of other constraints, we had to remap only the
> first 4K of ram to address zero.
> 
> --Mark

Which constraints were that? The remapping is done cause all the HAL code
assume everything starting from 0x0, right? Consequently when you execute
the code from RAM you want to keep you HAL code unchanged... please
correct if I'm wrong (as you can see, I not quite sure about these
issues...)

Thanks again,
Cristiano.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-03  7:59       ` Cristiano Ligieri Pereira
@ 2001-08-03  8:14         ` Mark Salter
  2001-08-03  9:21           ` Cristiano Ligieri Pereira
  0 siblings, 1 reply; 10+ messages in thread
From: Mark Salter @ 2001-08-03  8:14 UTC (permalink / raw)
  To: cpereira; +Cc: ecos-discuss

>>>>> Cristiano Ligieri Pereira writes:

>> No. Its just with IQ80310. AFAIK, other ARM ports remap all of RAM to start
>> at address zero. Because of other constraints, we had to remap only the
>> first 4K of ram to address zero.
>> 
>> --Mark

> Which constraints were that?

The hardware. In order to remap all of SDRAM to low memory, pretty much
every other piece of hw on the board would have to get remapped elsewhere.
There was a body of code already existing which relied on the physical
addresses. Not all of that software (very little actually) was in our
control and remapping all of SDRAM to low memory would have broken that
code. Because of scheduling issues outside of Red Hat, the current
approach was the one that won out.

--Mark


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-03  8:14         ` Mark Salter
@ 2001-08-03  9:21           ` Cristiano Ligieri Pereira
  2001-08-03  9:28             ` Mark Salter
  0 siblings, 1 reply; 10+ messages in thread
From: Cristiano Ligieri Pereira @ 2001-08-03  9:21 UTC (permalink / raw)
  To: Mark Salter; +Cc: ecos-discuss

> The hardware. In order to remap all of SDRAM to low memory, pretty much
> every other piece of hw on the board would have to get remapped elsewhere.
> There was a body of code already existing which relied on the physical
> addresses. Not all of that software (very little actually) was in our
> control and remapping all of SDRAM to low memory would have broken that
> code. Because of scheduling issues outside of Red Hat, the current
> approach was the one that won out.
> 
> --Mark

I'm gonna bug you a little bit more...

Which piece of code was that? (The one you hadn't control over it...) I
understood the reasons why you couldn't remmap all SDRAM to the low
memory, but I'm trying to figure out how you found out about this piece of
code? Is it documented somewhere? 

Thanks,
Cristiano.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ECOS] What's the definition of VROM memory region used for?
  2001-08-03  9:21           ` Cristiano Ligieri Pereira
@ 2001-08-03  9:28             ` Mark Salter
  0 siblings, 0 replies; 10+ messages in thread
From: Mark Salter @ 2001-08-03  9:28 UTC (permalink / raw)
  To: cpereira; +Cc: ecos-discuss

>>>>> Cristiano Ligieri Pereira writes:

>> The hardware. In order to remap all of SDRAM to low memory, pretty much
>> every other piece of hw on the board would have to get remapped elsewhere.
>> There was a body of code already existing which relied on the physical
>> addresses. Not all of that software (very little actually) was in our
>> control and remapping all of SDRAM to low memory would have broken that
>> code. Because of scheduling issues outside of Red Hat, the current
>> approach was the one that won out.
>> 
>> --Mark

> I'm gonna bug you a little bit more...

> Which piece of code was that? (The one you hadn't control over it...) I
> understood the reasons why you couldn't remmap all SDRAM to the low
> memory, but I'm trying to figure out how you found out about this piece of
> code? Is it documented somewhere? 

I'm not sure exactly. Some of it was the Cyclone diag code. Also there
was code used internally by the folks who sponsored the RedBoot port.
We presented several approaches to deal with the issue. Remapping the
first 4K of RAM and flash was the approach eventually chosen.

--Mark




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2001-08-03  9:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-02 16:57 [ECOS] What's the definition of VROM memory region used for? Cristiano Ligieri Pereira
2001-08-02 17:11 ` Mark Salter
2001-08-02 17:44   ` Cristiano Ligieri Pereira
2001-08-02 18:07     ` Mark Salter
2001-08-02 21:02   ` Cristiano Ligieri Pereira
2001-08-03  4:50     ` Mark Salter
2001-08-03  7:59       ` Cristiano Ligieri Pereira
2001-08-03  8:14         ` Mark Salter
2001-08-03  9:21           ` Cristiano Ligieri Pereira
2001-08-03  9:28             ` Mark Salter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).