diff --git a/hw/xbox.c b/hw/xbox.c index 489792ef17..2bc185cc99 100644 --- a/hw/xbox.c +++ b/hw/xbox.c @@ -259,8 +259,49 @@ static void xbox_init(QEMUMachineInitArgs *args) NULL, idebus[0], idebus[1], rtc_state); - /* TODO: Populate SPD eeprom data. */ + /* Temporary blank eeprom for xbox 1.0: + * Serial number 000000000000 + * Mac address 00:00:00:00:00:00 + * ...etc. + * TODO: persist it... + */ + const uint8_t tmp_eeprom[] = { + 0x25, 0x42, 0x88, 0x24, 0xA3, 0x1A, 0x7D, 0xF4, + 0xEE, 0x53, 0x3F, 0x39, 0x5D, 0x27, 0x98, 0x0E, + 0x58, 0xB3, 0x26, 0xC3, 0x70, 0x82, 0xE5, 0xC6, + 0xF7, 0xC5, 0x54, 0x38, 0xA0, 0x58, 0xB9, 0x5D, + 0xB7, 0x27, 0xC7, 0xB1, 0x67, 0xCF, 0x99, 0x3E, + 0xC8, 0x6E, 0xC8, 0x53, 0xEF, 0x7C, 0x01, 0x37, + 0x6F, 0x6E, 0x2F, 0x6F, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; uint8_t *eeprom_buf = g_malloc0(256); + memcpy(eeprom_buf, tmp_eeprom, 256); + smbus_eeprom_init_single(smbus, 0x54, eeprom_buf); smbus_pic16lc_init(smbus, 0x10);