On 10.08.2008 01:20, Carl-Daniel Hailfinger wrote:
> On 10.08.2008 01:15, Peter Stuge wrote:
>   
>> On Sun, Aug 10, 2008 at 12:57:42AM +0200, Carl-Daniel Hailfinger wrote:
>>   
>>     
>>>> -static int console_loglevel(void)
>>>> +static int loglevel = CONFIG_DEFAULT_CONSOLE_LOGLEVEL;
>>>>       
>>>>         
>>> NACK that part. It will not work and/or it will crash. Sorry.
>>>
>>> I take the NACK back if you explain how you can store a variable
>>> (not a constant) in ROM.
>>>     
>>>       
>> Doesn't it live on the heap/stack in cache?
>>   
>>     
>
> Unfortunately not. It's a global variable (so not on stack) and we do
> nothing to allow global variables. Look at the hoops the printk buffer
> code is jumping through to get some sort of global variables.
>
> The good news is that the printk buffer helpers can be amended to store
> any number of global variables.
>   

Patch for a temporary fixup follows.


Variables can't be stored in ROM. It's called readonly for a reason.

Signed-off-by: Carl-Daniel Hailfinger <[EMAIL PROTECTED]>

Index: corebootv3-console_loglevel_global_revert/lib/console.c
===================================================================
--- corebootv3-console_loglevel_global_revert/lib/console.c     (Revision 729)
+++ corebootv3-console_loglevel_global_revert/lib/console.c     (Arbeitskopie)
@@ -8,8 +8,6 @@
 int vtxprintf(void (*)(unsigned char, void *arg), 
                void *arg, const char *, va_list);
 
-static unsigned int loglevel = CONFIG_DEFAULT_CONSOLE_LOGLEVEL;
-
 /**
  * set the console log level
  * There are no invalid settings, although there are ones that 
@@ -21,7 +19,7 @@
        if (level > BIOS_SPEW)
                printk(BIOS_ALWAYS, "Warning: ridiculous log level setting: %d 
(max %d)\n", 
                        level, BIOS_SPEW);
-       loglevel = level;
+#warning Setting the log level is unimplemented
 }
 
 /**
@@ -31,7 +29,8 @@
  */
 static unsigned int console_loglevel(void)
 {
-       return loglevel;
+#warning This always returns the default loglevel
+       return CONFIG_DEFAULT_CONSOLE_LOGLEVEL;
 }
 
 #ifdef CONFIG_CONSOLE_BUFFER


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


--
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to