26 lines
		
	
	
		
			528 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			528 B
		
	
	
	
		
			C
		
	
	
	
#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
 |