mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
hw: use ld_p/st_p instead of ld_raw/st_raw
The ld_raw and st_raw definitions are only needed in code that must compile for both user-mode and softmmu emulation. Device models can use the equivalent ld_p/st_p which are simple pointer accessors. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
fddbd80cc9
commit
0983979b3a
10 changed files with 252 additions and 252 deletions
234
hw/arm/nseries.c
234
hw/arm/nseries.c
|
@ -850,119 +850,119 @@ static void n800_setup_nolo_tags(void *sram_base)
|
|||
|
||||
strcpy((void *) (p + 8), "F5");
|
||||
|
||||
stl_raw(p + 10, 0x04f70000);
|
||||
stl_p(p + 10, 0x04f70000);
|
||||
strcpy((void *) (p + 9), "RX-34");
|
||||
|
||||
/* RAM size in MB? */
|
||||
stl_raw(p + 12, 0x80);
|
||||
stl_p(p + 12, 0x80);
|
||||
|
||||
/* Pointer to the list of tags */
|
||||
stl_raw(p + 13, OMAP2_SRAM_BASE + 0x9000);
|
||||
stl_p(p + 13, OMAP2_SRAM_BASE + 0x9000);
|
||||
|
||||
/* The NOLO tags start here */
|
||||
p = sram_base + 0x9000;
|
||||
#define ADD_TAG(tag, len) \
|
||||
stw_raw((uint16_t *) p + 0, tag); \
|
||||
stw_raw((uint16_t *) p + 1, len); p++; \
|
||||
stl_raw(p++, OMAP2_SRAM_BASE | (((void *) v - sram_base) & 0xffff));
|
||||
stw_p((uint16_t *) p + 0, tag); \
|
||||
stw_p((uint16_t *) p + 1, len); p++; \
|
||||
stl_p(p++, OMAP2_SRAM_BASE | (((void *) v - sram_base) & 0xffff));
|
||||
|
||||
/* OMAP STI console? Pin out settings? */
|
||||
ADD_TAG(0x6e01, 414);
|
||||
for (i = 0; i < ARRAY_SIZE(n800_pinout); i++) {
|
||||
stl_raw(v++, n800_pinout[i]);
|
||||
stl_p(v++, n800_pinout[i]);
|
||||
}
|
||||
|
||||
/* Kernel memsize? */
|
||||
ADD_TAG(0x6e05, 1);
|
||||
stl_raw(v++, 2);
|
||||
stl_p(v++, 2);
|
||||
|
||||
/* NOLO serial console */
|
||||
ADD_TAG(0x6e02, 4);
|
||||
stl_raw(v++, XLDR_LL_UART); /* UART number (1 - 3) */
|
||||
stl_p(v++, XLDR_LL_UART); /* UART number (1 - 3) */
|
||||
|
||||
#if 0
|
||||
/* CBUS settings (Retu/AVilma) */
|
||||
ADD_TAG(0x6e03, 6);
|
||||
stw_raw((uint16_t *) v + 0, 65); /* CBUS GPIO0 */
|
||||
stw_raw((uint16_t *) v + 1, 66); /* CBUS GPIO1 */
|
||||
stw_raw((uint16_t *) v + 2, 64); /* CBUS GPIO2 */
|
||||
stw_p((uint16_t *) v + 0, 65); /* CBUS GPIO0 */
|
||||
stw_p((uint16_t *) v + 1, 66); /* CBUS GPIO1 */
|
||||
stw_p((uint16_t *) v + 2, 64); /* CBUS GPIO2 */
|
||||
v += 2;
|
||||
#endif
|
||||
|
||||
/* Nokia ASIC BB5 (Retu/Tahvo) */
|
||||
ADD_TAG(0x6e0a, 4);
|
||||
stw_raw((uint16_t *) v + 0, 111); /* "Retu" interrupt GPIO */
|
||||
stw_raw((uint16_t *) v + 1, 108); /* "Tahvo" interrupt GPIO */
|
||||
stw_p((uint16_t *) v + 0, 111); /* "Retu" interrupt GPIO */
|
||||
stw_p((uint16_t *) v + 1, 108); /* "Tahvo" interrupt GPIO */
|
||||
v++;
|
||||
|
||||
/* LCD console? */
|
||||
ADD_TAG(0x6e04, 4);
|
||||
stw_raw((uint16_t *) v + 0, 30); /* ??? */
|
||||
stw_raw((uint16_t *) v + 1, 24); /* ??? */
|
||||
stw_p((uint16_t *) v + 0, 30); /* ??? */
|
||||
stw_p((uint16_t *) v + 1, 24); /* ??? */
|
||||
v++;
|
||||
|
||||
#if 0
|
||||
/* LCD settings */
|
||||
ADD_TAG(0x6e06, 2);
|
||||
stw_raw((uint16_t *) (v++), 15); /* ??? */
|
||||
stw_p((uint16_t *) (v++), 15); /* ??? */
|
||||
#endif
|
||||
|
||||
/* I^2C (Menelaus) */
|
||||
ADD_TAG(0x6e07, 4);
|
||||
stl_raw(v++, 0x00720000); /* ??? */
|
||||
stl_p(v++, 0x00720000); /* ??? */
|
||||
|
||||
/* Unknown */
|
||||
ADD_TAG(0x6e0b, 6);
|
||||
stw_raw((uint16_t *) v + 0, 94); /* ??? */
|
||||
stw_raw((uint16_t *) v + 1, 23); /* ??? */
|
||||
stw_raw((uint16_t *) v + 2, 0); /* ??? */
|
||||
stw_p((uint16_t *) v + 0, 94); /* ??? */
|
||||
stw_p((uint16_t *) v + 1, 23); /* ??? */
|
||||
stw_p((uint16_t *) v + 2, 0); /* ??? */
|
||||
v += 2;
|
||||
|
||||
/* OMAP gpio switch info */
|
||||
ADD_TAG(0x6e0c, 80);
|
||||
strcpy((void *) v, "bat_cover"); v += 3;
|
||||
stw_raw((uint16_t *) v + 0, 110); /* GPIO num ??? */
|
||||
stw_raw((uint16_t *) v + 1, 1); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 0, 110); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 1, 1); /* GPIO num ??? */
|
||||
v += 2;
|
||||
strcpy((void *) v, "cam_act"); v += 3;
|
||||
stw_raw((uint16_t *) v + 0, 95); /* GPIO num ??? */
|
||||
stw_raw((uint16_t *) v + 1, 32); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 0, 95); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 1, 32); /* GPIO num ??? */
|
||||
v += 2;
|
||||
strcpy((void *) v, "cam_turn"); v += 3;
|
||||
stw_raw((uint16_t *) v + 0, 12); /* GPIO num ??? */
|
||||
stw_raw((uint16_t *) v + 1, 33); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 0, 12); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 1, 33); /* GPIO num ??? */
|
||||
v += 2;
|
||||
strcpy((void *) v, "headphone"); v += 3;
|
||||
stw_raw((uint16_t *) v + 0, 107); /* GPIO num ??? */
|
||||
stw_raw((uint16_t *) v + 1, 17); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 0, 107); /* GPIO num ??? */
|
||||
stw_p((uint16_t *) v + 1, 17); /* GPIO num ??? */
|
||||
v += 2;
|
||||
|
||||
/* Bluetooth */
|
||||
ADD_TAG(0x6e0e, 12);
|
||||
stl_raw(v++, 0x5c623d01); /* ??? */
|
||||
stl_raw(v++, 0x00000201); /* ??? */
|
||||
stl_raw(v++, 0x00000000); /* ??? */
|
||||
stl_p(v++, 0x5c623d01); /* ??? */
|
||||
stl_p(v++, 0x00000201); /* ??? */
|
||||
stl_p(v++, 0x00000000); /* ??? */
|
||||
|
||||
/* CX3110x WLAN settings */
|
||||
ADD_TAG(0x6e0f, 8);
|
||||
stl_raw(v++, 0x00610025); /* ??? */
|
||||
stl_raw(v++, 0xffff0057); /* ??? */
|
||||
stl_p(v++, 0x00610025); /* ??? */
|
||||
stl_p(v++, 0xffff0057); /* ??? */
|
||||
|
||||
/* MMC host settings */
|
||||
ADD_TAG(0x6e10, 12);
|
||||
stl_raw(v++, 0xffff000f); /* ??? */
|
||||
stl_raw(v++, 0xffffffff); /* ??? */
|
||||
stl_raw(v++, 0x00000060); /* ??? */
|
||||
stl_p(v++, 0xffff000f); /* ??? */
|
||||
stl_p(v++, 0xffffffff); /* ??? */
|
||||
stl_p(v++, 0x00000060); /* ??? */
|
||||
|
||||
/* OneNAND chip select */
|
||||
ADD_TAG(0x6e11, 10);
|
||||
stl_raw(v++, 0x00000401); /* ??? */
|
||||
stl_raw(v++, 0x0002003a); /* ??? */
|
||||
stl_raw(v++, 0x00000002); /* ??? */
|
||||
stl_p(v++, 0x00000401); /* ??? */
|
||||
stl_p(v++, 0x0002003a); /* ??? */
|
||||
stl_p(v++, 0x00000002); /* ??? */
|
||||
|
||||
/* TEA5761 sensor settings */
|
||||
ADD_TAG(0x6e12, 2);
|
||||
stl_raw(v++, 93); /* GPIO num ??? */
|
||||
stl_p(v++, 93); /* GPIO num ??? */
|
||||
|
||||
#if 0
|
||||
/* Unknown tag */
|
||||
|
@ -973,8 +973,8 @@ static void n800_setup_nolo_tags(void *sram_base)
|
|||
#endif
|
||||
|
||||
/* End of the list */
|
||||
stl_raw(p++, 0x00000000);
|
||||
stl_raw(p++, 0x00000000);
|
||||
stl_p(p++, 0x00000000);
|
||||
stl_p(p++, 0x00000000);
|
||||
}
|
||||
|
||||
/* This task is normally performed by the bootloader. If we're loading
|
||||
|
@ -1137,112 +1137,112 @@ static int n8x0_atag_setup(void *p, int model)
|
|||
|
||||
w = p;
|
||||
|
||||
stw_raw(w++, OMAP_TAG_UART); /* u16 tag */
|
||||
stw_raw(w++, 4); /* u16 len */
|
||||
stw_raw(w++, (1 << 2) | (1 << 1) | (1 << 0)); /* uint enabled_uarts */
|
||||
stw_p(w++, OMAP_TAG_UART); /* u16 tag */
|
||||
stw_p(w++, 4); /* u16 len */
|
||||
stw_p(w++, (1 << 2) | (1 << 1) | (1 << 0)); /* uint enabled_uarts */
|
||||
w++;
|
||||
|
||||
#if 0
|
||||
stw_raw(w++, OMAP_TAG_SERIAL_CONSOLE); /* u16 tag */
|
||||
stw_raw(w++, 4); /* u16 len */
|
||||
stw_raw(w++, XLDR_LL_UART + 1); /* u8 console_uart */
|
||||
stw_raw(w++, 115200); /* u32 console_speed */
|
||||
stw_p(w++, OMAP_TAG_SERIAL_CONSOLE); /* u16 tag */
|
||||
stw_p(w++, 4); /* u16 len */
|
||||
stw_p(w++, XLDR_LL_UART + 1); /* u8 console_uart */
|
||||
stw_p(w++, 115200); /* u32 console_speed */
|
||||
#endif
|
||||
|
||||
stw_raw(w++, OMAP_TAG_LCD); /* u16 tag */
|
||||
stw_raw(w++, 36); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_LCD); /* u16 tag */
|
||||
stw_p(w++, 36); /* u16 len */
|
||||
strcpy((void *) w, "QEMU LCD panel"); /* char panel_name[16] */
|
||||
w += 8;
|
||||
strcpy((void *) w, "blizzard"); /* char ctrl_name[16] */
|
||||
w += 8;
|
||||
stw_raw(w++, N810_BLIZZARD_RESET_GPIO); /* TODO: n800 s16 nreset_gpio */
|
||||
stw_raw(w++, 24); /* u8 data_lines */
|
||||
stw_p(w++, N810_BLIZZARD_RESET_GPIO); /* TODO: n800 s16 nreset_gpio */
|
||||
stw_p(w++, 24); /* u8 data_lines */
|
||||
|
||||
stw_raw(w++, OMAP_TAG_CBUS); /* u16 tag */
|
||||
stw_raw(w++, 8); /* u16 len */
|
||||
stw_raw(w++, N8X0_CBUS_CLK_GPIO); /* s16 clk_gpio */
|
||||
stw_raw(w++, N8X0_CBUS_DAT_GPIO); /* s16 dat_gpio */
|
||||
stw_raw(w++, N8X0_CBUS_SEL_GPIO); /* s16 sel_gpio */
|
||||
stw_p(w++, OMAP_TAG_CBUS); /* u16 tag */
|
||||
stw_p(w++, 8); /* u16 len */
|
||||
stw_p(w++, N8X0_CBUS_CLK_GPIO); /* s16 clk_gpio */
|
||||
stw_p(w++, N8X0_CBUS_DAT_GPIO); /* s16 dat_gpio */
|
||||
stw_p(w++, N8X0_CBUS_SEL_GPIO); /* s16 sel_gpio */
|
||||
w++;
|
||||
|
||||
stw_raw(w++, OMAP_TAG_EM_ASIC_BB5); /* u16 tag */
|
||||
stw_raw(w++, 4); /* u16 len */
|
||||
stw_raw(w++, N8X0_RETU_GPIO); /* s16 retu_irq_gpio */
|
||||
stw_raw(w++, N8X0_TAHVO_GPIO); /* s16 tahvo_irq_gpio */
|
||||
stw_p(w++, OMAP_TAG_EM_ASIC_BB5); /* u16 tag */
|
||||
stw_p(w++, 4); /* u16 len */
|
||||
stw_p(w++, N8X0_RETU_GPIO); /* s16 retu_irq_gpio */
|
||||
stw_p(w++, N8X0_TAHVO_GPIO); /* s16 tahvo_irq_gpio */
|
||||
|
||||
gpiosw = (model == 810) ? n810_gpiosw_info : n800_gpiosw_info;
|
||||
for (; gpiosw->name; gpiosw++) {
|
||||
stw_raw(w++, OMAP_TAG_GPIO_SWITCH); /* u16 tag */
|
||||
stw_raw(w++, 20); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_GPIO_SWITCH); /* u16 tag */
|
||||
stw_p(w++, 20); /* u16 len */
|
||||
strcpy((void *) w, gpiosw->name); /* char name[12] */
|
||||
w += 6;
|
||||
stw_raw(w++, gpiosw->line); /* u16 gpio */
|
||||
stw_raw(w++, gpiosw->type);
|
||||
stw_raw(w++, 0);
|
||||
stw_raw(w++, 0);
|
||||
stw_p(w++, gpiosw->line); /* u16 gpio */
|
||||
stw_p(w++, gpiosw->type);
|
||||
stw_p(w++, 0);
|
||||
stw_p(w++, 0);
|
||||
}
|
||||
|
||||
stw_raw(w++, OMAP_TAG_NOKIA_BT); /* u16 tag */
|
||||
stw_raw(w++, 12); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_NOKIA_BT); /* u16 tag */
|
||||
stw_p(w++, 12); /* u16 len */
|
||||
b = (void *) w;
|
||||
stb_raw(b++, 0x01); /* u8 chip_type (CSR) */
|
||||
stb_raw(b++, N8X0_BT_WKUP_GPIO); /* u8 bt_wakeup_gpio */
|
||||
stb_raw(b++, N8X0_BT_HOST_WKUP_GPIO); /* u8 host_wakeup_gpio */
|
||||
stb_raw(b++, N8X0_BT_RESET_GPIO); /* u8 reset_gpio */
|
||||
stb_raw(b++, BT_UART + 1); /* u8 bt_uart */
|
||||
stb_p(b++, 0x01); /* u8 chip_type (CSR) */
|
||||
stb_p(b++, N8X0_BT_WKUP_GPIO); /* u8 bt_wakeup_gpio */
|
||||
stb_p(b++, N8X0_BT_HOST_WKUP_GPIO); /* u8 host_wakeup_gpio */
|
||||
stb_p(b++, N8X0_BT_RESET_GPIO); /* u8 reset_gpio */
|
||||
stb_p(b++, BT_UART + 1); /* u8 bt_uart */
|
||||
memcpy(b, &n8x0_bd_addr, 6); /* u8 bd_addr[6] */
|
||||
b += 6;
|
||||
stb_raw(b++, 0x02); /* u8 bt_sysclk (38.4) */
|
||||
stb_p(b++, 0x02); /* u8 bt_sysclk (38.4) */
|
||||
w = (void *) b;
|
||||
|
||||
stw_raw(w++, OMAP_TAG_WLAN_CX3110X); /* u16 tag */
|
||||
stw_raw(w++, 8); /* u16 len */
|
||||
stw_raw(w++, 0x25); /* u8 chip_type */
|
||||
stw_raw(w++, N8X0_WLAN_PWR_GPIO); /* s16 power_gpio */
|
||||
stw_raw(w++, N8X0_WLAN_IRQ_GPIO); /* s16 irq_gpio */
|
||||
stw_raw(w++, -1); /* s16 spi_cs_gpio */
|
||||
stw_p(w++, OMAP_TAG_WLAN_CX3110X); /* u16 tag */
|
||||
stw_p(w++, 8); /* u16 len */
|
||||
stw_p(w++, 0x25); /* u8 chip_type */
|
||||
stw_p(w++, N8X0_WLAN_PWR_GPIO); /* s16 power_gpio */
|
||||
stw_p(w++, N8X0_WLAN_IRQ_GPIO); /* s16 irq_gpio */
|
||||
stw_p(w++, -1); /* s16 spi_cs_gpio */
|
||||
|
||||
stw_raw(w++, OMAP_TAG_MMC); /* u16 tag */
|
||||
stw_raw(w++, 16); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_MMC); /* u16 tag */
|
||||
stw_p(w++, 16); /* u16 len */
|
||||
if (model == 810) {
|
||||
stw_raw(w++, 0x23f); /* unsigned flags */
|
||||
stw_raw(w++, -1); /* s16 power_pin */
|
||||
stw_raw(w++, -1); /* s16 switch_pin */
|
||||
stw_raw(w++, -1); /* s16 wp_pin */
|
||||
stw_raw(w++, 0x240); /* unsigned flags */
|
||||
stw_raw(w++, 0xc000); /* s16 power_pin */
|
||||
stw_raw(w++, 0x0248); /* s16 switch_pin */
|
||||
stw_raw(w++, 0xc000); /* s16 wp_pin */
|
||||
stw_p(w++, 0x23f); /* unsigned flags */
|
||||
stw_p(w++, -1); /* s16 power_pin */
|
||||
stw_p(w++, -1); /* s16 switch_pin */
|
||||
stw_p(w++, -1); /* s16 wp_pin */
|
||||
stw_p(w++, 0x240); /* unsigned flags */
|
||||
stw_p(w++, 0xc000); /* s16 power_pin */
|
||||
stw_p(w++, 0x0248); /* s16 switch_pin */
|
||||
stw_p(w++, 0xc000); /* s16 wp_pin */
|
||||
} else {
|
||||
stw_raw(w++, 0xf); /* unsigned flags */
|
||||
stw_raw(w++, -1); /* s16 power_pin */
|
||||
stw_raw(w++, -1); /* s16 switch_pin */
|
||||
stw_raw(w++, -1); /* s16 wp_pin */
|
||||
stw_raw(w++, 0); /* unsigned flags */
|
||||
stw_raw(w++, 0); /* s16 power_pin */
|
||||
stw_raw(w++, 0); /* s16 switch_pin */
|
||||
stw_raw(w++, 0); /* s16 wp_pin */
|
||||
stw_p(w++, 0xf); /* unsigned flags */
|
||||
stw_p(w++, -1); /* s16 power_pin */
|
||||
stw_p(w++, -1); /* s16 switch_pin */
|
||||
stw_p(w++, -1); /* s16 wp_pin */
|
||||
stw_p(w++, 0); /* unsigned flags */
|
||||
stw_p(w++, 0); /* s16 power_pin */
|
||||
stw_p(w++, 0); /* s16 switch_pin */
|
||||
stw_p(w++, 0); /* s16 wp_pin */
|
||||
}
|
||||
|
||||
stw_raw(w++, OMAP_TAG_TEA5761); /* u16 tag */
|
||||
stw_raw(w++, 4); /* u16 len */
|
||||
stw_raw(w++, N8X0_TEA5761_CS_GPIO); /* u16 enable_gpio */
|
||||
stw_p(w++, OMAP_TAG_TEA5761); /* u16 tag */
|
||||
stw_p(w++, 4); /* u16 len */
|
||||
stw_p(w++, N8X0_TEA5761_CS_GPIO); /* u16 enable_gpio */
|
||||
w++;
|
||||
|
||||
partition = (model == 810) ? n810_part_info : n800_part_info;
|
||||
for (; partition->name; partition++) {
|
||||
stw_raw(w++, OMAP_TAG_PARTITION); /* u16 tag */
|
||||
stw_raw(w++, 28); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_PARTITION); /* u16 tag */
|
||||
stw_p(w++, 28); /* u16 len */
|
||||
strcpy((void *) w, partition->name); /* char name[16] */
|
||||
l = (void *) (w + 8);
|
||||
stl_raw(l++, partition->size); /* unsigned int size */
|
||||
stl_raw(l++, partition->offset); /* unsigned int offset */
|
||||
stl_raw(l++, partition->mask); /* unsigned int mask_flags */
|
||||
stl_p(l++, partition->size); /* unsigned int size */
|
||||
stl_p(l++, partition->offset); /* unsigned int offset */
|
||||
stl_p(l++, partition->mask); /* unsigned int mask_flags */
|
||||
w = (void *) l;
|
||||
}
|
||||
|
||||
stw_raw(w++, OMAP_TAG_BOOT_REASON); /* u16 tag */
|
||||
stw_raw(w++, 12); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_BOOT_REASON); /* u16 tag */
|
||||
stw_p(w++, 12); /* u16 len */
|
||||
#if 0
|
||||
strcpy((void *) w, "por"); /* char reason_str[12] */
|
||||
strcpy((void *) w, "charger"); /* char reason_str[12] */
|
||||
|
@ -1260,15 +1260,15 @@ static int n8x0_atag_setup(void *p, int model)
|
|||
w += 6;
|
||||
|
||||
tag = (model == 810) ? "RX-44" : "RX-34";
|
||||
stw_raw(w++, OMAP_TAG_VERSION_STR); /* u16 tag */
|
||||
stw_raw(w++, 24); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_VERSION_STR); /* u16 tag */
|
||||
stw_p(w++, 24); /* u16 len */
|
||||
strcpy((void *) w, "product"); /* char component[12] */
|
||||
w += 6;
|
||||
strcpy((void *) w, tag); /* char version[12] */
|
||||
w += 6;
|
||||
|
||||
stw_raw(w++, OMAP_TAG_VERSION_STR); /* u16 tag */
|
||||
stw_raw(w++, 24); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_VERSION_STR); /* u16 tag */
|
||||
stw_p(w++, 24); /* u16 len */
|
||||
strcpy((void *) w, "hw-build"); /* char component[12] */
|
||||
w += 6;
|
||||
strcpy((void *) w, "QEMU ");
|
||||
|
@ -1276,8 +1276,8 @@ static int n8x0_atag_setup(void *p, int model)
|
|||
w += 6;
|
||||
|
||||
tag = (model == 810) ? "1.1.10-qemu" : "1.1.6-qemu";
|
||||
stw_raw(w++, OMAP_TAG_VERSION_STR); /* u16 tag */
|
||||
stw_raw(w++, 24); /* u16 len */
|
||||
stw_p(w++, OMAP_TAG_VERSION_STR); /* u16 tag */
|
||||
stw_p(w++, 24); /* u16 len */
|
||||
strcpy((void *) w, "nolo"); /* char component[12] */
|
||||
w += 6;
|
||||
strcpy((void *) w, tag); /* char version[12] */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue