Revision d4ae799c

b/hw/eeprom93xx.c
95 95
    /* Save EEPROM data. */
96 96
    unsigned address;
97 97
    eeprom_t *eeprom = (eeprom_t *)opaque;
98
    qemu_put_buffer(f, (uint8_t *)eeprom, sizeof(*eeprom) - 2);
98

  
99
    qemu_put_byte(f, eeprom->tick);
100
    qemu_put_byte(f, eeprom->address);
101
    qemu_put_byte(f, eeprom->command);
102
    qemu_put_byte(f, eeprom->writeable);
103

  
104
    qemu_put_byte(f, eeprom->eecs);
105
    qemu_put_byte(f, eeprom->eesk);
106
    qemu_put_byte(f, eeprom->eedo);
107

  
108
    qemu_put_byte(f, eeprom->addrbits);
109
    qemu_put_byte(f, eeprom->size);
110
    qemu_put_byte(f, 0);                  /* padding for compatiblity */
99 111
    qemu_put_be16(f, eeprom->data);
100 112
    for (address = 0; address < eeprom->size; address++) {
101 113
        qemu_put_be16(f, eeprom->contents[address]);
......
111 123
    if (version_id == eeprom_version) {
112 124
        unsigned address;
113 125
        uint8_t size = eeprom->size;
114
        qemu_get_buffer(f, (uint8_t *)eeprom, sizeof(*eeprom) - 2);
126

  
127
        eeprom->tick = qemu_get_byte(f);
128
        eeprom->address = qemu_get_byte(f);
129
        eeprom->command = qemu_get_byte(f);
130
        eeprom->writeable = qemu_get_byte(f);
131

  
132
        eeprom->eecs = qemu_get_byte(f);
133
        eeprom->eesk = qemu_get_byte(f);
134
        eeprom->eedo = qemu_get_byte(f);
135

  
136
        eeprom->addrbits = qemu_get_byte(f);
137
        eeprom->size = qemu_get_byte(f);
138
        qemu_get_byte(f);                   /* skip padding byte */
139

  
115 140
        if (eeprom->size == size) {
116 141
            eeprom->data = qemu_get_be16(f);
117 142
            for (address = 0; address < eeprom->size; address++) {

Also available in: Unified diff