Revision 819385c5 hw/ppc.c

b/hw/ppc.c
283 283
/* NVRAM helpers */
284 284
void NVRAM_set_byte (m48t59_t *nvram, uint32_t addr, uint8_t value)
285 285
{
286
    m48t59_set_addr(nvram, addr);
287
    m48t59_write(nvram, value);
286
    m48t59_write(nvram, addr, value);
288 287
}
289 288

  
290 289
uint8_t NVRAM_get_byte (m48t59_t *nvram, uint32_t addr)
291 290
{
292
    m48t59_set_addr(nvram, addr);
293
    return m48t59_read(nvram);
291
    return m48t59_read(nvram, addr);
294 292
}
295 293

  
296 294
void NVRAM_set_word (m48t59_t *nvram, uint32_t addr, uint16_t value)
297 295
{
298
    m48t59_set_addr(nvram, addr);
299
    m48t59_write(nvram, value >> 8);
300
    m48t59_set_addr(nvram, addr + 1);
301
    m48t59_write(nvram, value & 0xFF);
296
    m48t59_write(nvram, addr, value >> 8);
297
    m48t59_write(nvram, addr + 1, value & 0xFF);
302 298
}
303 299

  
304 300
uint16_t NVRAM_get_word (m48t59_t *nvram, uint32_t addr)
305 301
{
306 302
    uint16_t tmp;
307 303

  
308
    m48t59_set_addr(nvram, addr);
309
    tmp = m48t59_read(nvram) << 8;
310
    m48t59_set_addr(nvram, addr + 1);
311
    tmp |= m48t59_read(nvram);
312

  
304
    tmp = m48t59_read(nvram, addr) << 8;
305
    tmp |= m48t59_read(nvram, addr + 1);
313 306
    return tmp;
314 307
}
315 308

  
316 309
void NVRAM_set_lword (m48t59_t *nvram, uint32_t addr, uint32_t value)
317 310
{
318
    m48t59_set_addr(nvram, addr);
319
    m48t59_write(nvram, value >> 24);
320
    m48t59_set_addr(nvram, addr + 1);
321
    m48t59_write(nvram, (value >> 16) & 0xFF);
322
    m48t59_set_addr(nvram, addr + 2);
323
    m48t59_write(nvram, (value >> 8) & 0xFF);
324
    m48t59_set_addr(nvram, addr + 3);
325
    m48t59_write(nvram, value & 0xFF);
311
    m48t59_write(nvram, addr, value >> 24);
312
    m48t59_write(nvram, addr + 1, (value >> 16) & 0xFF);
313
    m48t59_write(nvram, addr + 2, (value >> 8) & 0xFF);
314
    m48t59_write(nvram, addr + 3, value & 0xFF);
326 315
}
327 316

  
328 317
uint32_t NVRAM_get_lword (m48t59_t *nvram, uint32_t addr)
329 318
{
330 319
    uint32_t tmp;
331 320

  
332
    m48t59_set_addr(nvram, addr);
333
    tmp = m48t59_read(nvram) << 24;
334
    m48t59_set_addr(nvram, addr + 1);
335
    tmp |= m48t59_read(nvram) << 16;
336
    m48t59_set_addr(nvram, addr + 2);
337
    tmp |= m48t59_read(nvram) << 8;
338
    m48t59_set_addr(nvram, addr + 3);
339
    tmp |= m48t59_read(nvram);
340

  
321
    tmp = m48t59_read(nvram, addr) << 24;
322
    tmp |= m48t59_read(nvram, addr + 1) << 16;
323
    tmp |= m48t59_read(nvram, addr + 2) << 8;
324
    tmp |= m48t59_read(nvram, addr + 3);
341 325
    return tmp;
342 326
}
343 327

  
......
347 331
    int i;
348 332

  
349 333
    for (i = 0; i < max && str[i] != '\0'; i++) {
350
        m48t59_set_addr(nvram, addr + i);
351
        m48t59_write(nvram, str[i]);
334
        m48t59_write(nvram, addr + i, str[i]);
352 335
    }
353
    m48t59_set_addr(nvram, addr + max - 1);
354
    m48t59_write(nvram, '\0');
336
    m48t59_write(nvram, addr + max - 1, '\0');
355 337
}
356 338

  
357 339
int NVRAM_get_string (m48t59_t *nvram, uint8_t *dst, uint16_t addr, int max)

Also available in: Unified diff