diff options
Diffstat (limited to 'hw/sun4u.c')
-rw-r--r-- | hw/sun4u.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/sun4u.c b/hw/sun4u.c index 82ead816e6..00dac2d03e 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -49,6 +49,7 @@ struct hwdef { const char * const default_cpu_model; + uint16_t machine_id; }; int DMA_get_channel_mode (int nchan) @@ -420,16 +421,25 @@ static void sun4uv_init(ram_addr_t RAM_size, int vga_ram_size, fw_cfg = fw_cfg_init(BIOS_CFG_IOPORT, BIOS_CFG_IOPORT + 1, 0, 0); fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1); + fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size); + fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id); } +enum { + sun4u_id = 0, + sun4v_id = 64, +}; + static const struct hwdef hwdefs[] = { /* Sun4u generic PC-like machine */ { .default_cpu_model = "TI UltraSparc II", + .machine_id = sun4u_id, }, /* Sun4v generic PC-like machine */ { .default_cpu_model = "Sun UltraSparc T1", + .machine_id = sun4v_id, }, }; |