v3 can't use global variables in stage1 or initram. Same applies to static local variables. See the bug below.
Ideas for fixes? The generic variable infrastructure would be one option.
int smbus_read_byte(u16 device, u8 address) { //BUG here! static int first_time = 1;
if (first_time) { smbus_init(); first_time = 0; }
return do_smbus_read_byte(SMBUS_IO_BASE, device, address); }
Regards, Carl-Daniel