Revision a8170e5e hw/pflash_cfi02.c
b/hw/pflash_cfi02.c | ||
---|---|---|
56 | 56 |
|
57 | 57 |
struct pflash_t { |
58 | 58 |
BlockDriverState *bs; |
59 |
target_phys_addr_t base;
|
|
59 |
hwaddr base;
|
|
60 | 60 |
uint32_t sector_len; |
61 | 61 |
uint32_t chip_len; |
62 | 62 |
int mappings; |
... | ... | |
89 | 89 |
static void pflash_setup_mappings(pflash_t *pfl) |
90 | 90 |
{ |
91 | 91 |
unsigned i; |
92 |
target_phys_addr_t size = memory_region_size(&pfl->orig_mem);
|
|
92 |
hwaddr size = memory_region_size(&pfl->orig_mem);
|
|
93 | 93 |
|
94 | 94 |
memory_region_init(&pfl->mem, "pflash", pfl->mappings * size); |
95 | 95 |
pfl->mem_mappings = g_new(MemoryRegion, pfl->mappings); |
... | ... | |
122 | 122 |
pfl->cmd = 0; |
123 | 123 |
} |
124 | 124 |
|
125 |
static uint32_t pflash_read (pflash_t *pfl, target_phys_addr_t offset,
|
|
125 |
static uint32_t pflash_read (pflash_t *pfl, hwaddr offset,
|
|
126 | 126 |
int width, int be) |
127 | 127 |
{ |
128 |
target_phys_addr_t boff;
|
|
128 |
hwaddr boff;
|
|
129 | 129 |
uint32_t ret; |
130 | 130 |
uint8_t *p; |
131 | 131 |
|
... | ... | |
242 | 242 |
} |
243 | 243 |
} |
244 | 244 |
|
245 |
static void pflash_write (pflash_t *pfl, target_phys_addr_t offset,
|
|
245 |
static void pflash_write (pflash_t *pfl, hwaddr offset,
|
|
246 | 246 |
uint32_t value, int width, int be) |
247 | 247 |
{ |
248 |
target_phys_addr_t boff;
|
|
248 |
hwaddr boff;
|
|
249 | 249 |
uint8_t *p; |
250 | 250 |
uint8_t cmd; |
251 | 251 |
|
... | ... | |
477 | 477 |
} |
478 | 478 |
|
479 | 479 |
|
480 |
static uint32_t pflash_readb_be(void *opaque, target_phys_addr_t addr)
|
|
480 |
static uint32_t pflash_readb_be(void *opaque, hwaddr addr)
|
|
481 | 481 |
{ |
482 | 482 |
return pflash_read(opaque, addr, 1, 1); |
483 | 483 |
} |
484 | 484 |
|
485 |
static uint32_t pflash_readb_le(void *opaque, target_phys_addr_t addr)
|
|
485 |
static uint32_t pflash_readb_le(void *opaque, hwaddr addr)
|
|
486 | 486 |
{ |
487 | 487 |
return pflash_read(opaque, addr, 1, 0); |
488 | 488 |
} |
489 | 489 |
|
490 |
static uint32_t pflash_readw_be(void *opaque, target_phys_addr_t addr)
|
|
490 |
static uint32_t pflash_readw_be(void *opaque, hwaddr addr)
|
|
491 | 491 |
{ |
492 | 492 |
pflash_t *pfl = opaque; |
493 | 493 |
|
494 | 494 |
return pflash_read(pfl, addr, 2, 1); |
495 | 495 |
} |
496 | 496 |
|
497 |
static uint32_t pflash_readw_le(void *opaque, target_phys_addr_t addr)
|
|
497 |
static uint32_t pflash_readw_le(void *opaque, hwaddr addr)
|
|
498 | 498 |
{ |
499 | 499 |
pflash_t *pfl = opaque; |
500 | 500 |
|
501 | 501 |
return pflash_read(pfl, addr, 2, 0); |
502 | 502 |
} |
503 | 503 |
|
504 |
static uint32_t pflash_readl_be(void *opaque, target_phys_addr_t addr)
|
|
504 |
static uint32_t pflash_readl_be(void *opaque, hwaddr addr)
|
|
505 | 505 |
{ |
506 | 506 |
pflash_t *pfl = opaque; |
507 | 507 |
|
508 | 508 |
return pflash_read(pfl, addr, 4, 1); |
509 | 509 |
} |
510 | 510 |
|
511 |
static uint32_t pflash_readl_le(void *opaque, target_phys_addr_t addr)
|
|
511 |
static uint32_t pflash_readl_le(void *opaque, hwaddr addr)
|
|
512 | 512 |
{ |
513 | 513 |
pflash_t *pfl = opaque; |
514 | 514 |
|
515 | 515 |
return pflash_read(pfl, addr, 4, 0); |
516 | 516 |
} |
517 | 517 |
|
518 |
static void pflash_writeb_be(void *opaque, target_phys_addr_t addr,
|
|
518 |
static void pflash_writeb_be(void *opaque, hwaddr addr,
|
|
519 | 519 |
uint32_t value) |
520 | 520 |
{ |
521 | 521 |
pflash_write(opaque, addr, value, 1, 1); |
522 | 522 |
} |
523 | 523 |
|
524 |
static void pflash_writeb_le(void *opaque, target_phys_addr_t addr,
|
|
524 |
static void pflash_writeb_le(void *opaque, hwaddr addr,
|
|
525 | 525 |
uint32_t value) |
526 | 526 |
{ |
527 | 527 |
pflash_write(opaque, addr, value, 1, 0); |
528 | 528 |
} |
529 | 529 |
|
530 |
static void pflash_writew_be(void *opaque, target_phys_addr_t addr,
|
|
530 |
static void pflash_writew_be(void *opaque, hwaddr addr,
|
|
531 | 531 |
uint32_t value) |
532 | 532 |
{ |
533 | 533 |
pflash_t *pfl = opaque; |
... | ... | |
535 | 535 |
pflash_write(pfl, addr, value, 2, 1); |
536 | 536 |
} |
537 | 537 |
|
538 |
static void pflash_writew_le(void *opaque, target_phys_addr_t addr,
|
|
538 |
static void pflash_writew_le(void *opaque, hwaddr addr,
|
|
539 | 539 |
uint32_t value) |
540 | 540 |
{ |
541 | 541 |
pflash_t *pfl = opaque; |
... | ... | |
543 | 543 |
pflash_write(pfl, addr, value, 2, 0); |
544 | 544 |
} |
545 | 545 |
|
546 |
static void pflash_writel_be(void *opaque, target_phys_addr_t addr,
|
|
546 |
static void pflash_writel_be(void *opaque, hwaddr addr,
|
|
547 | 547 |
uint32_t value) |
548 | 548 |
{ |
549 | 549 |
pflash_t *pfl = opaque; |
... | ... | |
551 | 551 |
pflash_write(pfl, addr, value, 4, 1); |
552 | 552 |
} |
553 | 553 |
|
554 |
static void pflash_writel_le(void *opaque, target_phys_addr_t addr,
|
|
554 |
static void pflash_writel_le(void *opaque, hwaddr addr,
|
|
555 | 555 |
uint32_t value) |
556 | 556 |
{ |
557 | 557 |
pflash_t *pfl = opaque; |
... | ... | |
575 | 575 |
.endianness = DEVICE_NATIVE_ENDIAN, |
576 | 576 |
}; |
577 | 577 |
|
578 |
pflash_t *pflash_cfi02_register(target_phys_addr_t base,
|
|
578 |
pflash_t *pflash_cfi02_register(hwaddr base,
|
|
579 | 579 |
DeviceState *qdev, const char *name, |
580 |
target_phys_addr_t size,
|
|
580 |
hwaddr size,
|
|
581 | 581 |
BlockDriverState *bs, uint32_t sector_len, |
582 | 582 |
int nb_blocs, int nb_mappings, int width, |
583 | 583 |
uint16_t id0, uint16_t id1, |
Also available in: Unified diff