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