xtensa_lx60: pass kernel arguments from -append

Create boot parameters in the end of SRAM region, insert kernel
arguments specified in -append there.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
Max Filippov 2011-10-30 21:24:26 +04:00
parent 82b25dc8b0
commit 292627bb5e
2 changed files with 45 additions and 4 deletions

25
hw/xtensa_bootparam.h Normal file
View file

@ -0,0 +1,25 @@
#ifndef HW_XTENSA_BOOTPARAM
#define HW_XTENSA_BOOTPARAM
typedef struct BpTag {
uint16_t tag;
uint16_t size;
} BpTag;
static inline ram_addr_t put_tag(ram_addr_t addr, uint16_t tag,
size_t size, const void *data)
{
BpTag bp_tag = {
.tag = tswap16(tag),
.size = tswap16((size + 3) & ~3),
};
cpu_physical_memory_write(addr, &bp_tag, sizeof(bp_tag));
addr += sizeof(bp_tag);
cpu_physical_memory_write(addr, data, size);
addr += (size + 3) & ~3;
return addr;
}
#endif