[coreboot] [PATCH] v3: determine global variable location

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Wed Oct 15 19:02:16 CEST 2008


On 15.10.2008 17:34, ron minnich wrote:
> On Wed, Oct 15, 2008 at 8:34 AM, ron minnich <rminnich at gmail.com> wrote:
>   
>> On Wed, Oct 15, 2008 at 3:09 AM, Carl-Daniel Hailfinger
>> <c-d.hailfinger.devel.2006 at gmx.net> wrote:
>>     
>>> On 15.10.2008 04:54, ron minnich wrote:
>>>       
>>>> return (void *) CONFIG_RAM_STACK_LOCATION;
>>>>
>>>> not quite right? CONFIG_RAM_STACK_LOCATION; + CONFIG_RAM_STACK_SIZE -4?
>>>>         
>>> Actually, that was intentional. You see, we haven't decided on the
>>> meaning of the RAM_STACK_LOCATION constant/variable yet. We could very
>>> well declare it to be the initial %esp for RAM stacks. Then again, we
>>> could also decide that the stack shall be at the top of available RAM,
>>> and that would require us to use a variable.
>>>
>>> You supply the meaning of the variable, I'll make sure the code matches.
>>>       
>> let's call it RAM_TOP_OF_STACK and put it at the standard 88ff
>
> Sorry: RAM_STACK_BASE at 0x88ffc
>   

While I do agree, it may be confusing for some people to have
RAM_STACK_BASE denote the upper (as in memory location) end of the stack
and CARBASE denote the lower end of the stack.

Suggested fix: Introduce the following #define:

#define CAR_STACK_BASE (CONFIG_CARBASE + CONFIG_CARSIZE - 4)

What do you think?


Regards,
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the coreboot mailing list