Revision a8170e5e hw/megasas.c
b/hw/megasas.c | ||
---|---|---|
59 | 59 |
uint16_t count; |
60 | 60 |
uint64_t context; |
61 | 61 |
|
62 |
target_phys_addr_t pa;
|
|
63 |
target_phys_addr_t pa_size;
|
|
62 |
hwaddr pa;
|
|
63 |
hwaddr pa_size;
|
|
64 | 64 |
union mfi_frame *frame; |
65 | 65 |
SCSIRequest *req; |
66 | 66 |
QEMUSGList qsg; |
... | ... | |
277 | 277 |
uint8_t sense_len) |
278 | 278 |
{ |
279 | 279 |
uint32_t pa_hi = 0, pa_lo; |
280 |
target_phys_addr_t pa;
|
|
280 |
hwaddr pa;
|
|
281 | 281 |
|
282 | 282 |
if (sense_len > cmd->frame->header.sense_len) { |
283 | 283 |
sense_len = cmd->frame->header.sense_len; |
... | ... | |
404 | 404 |
} |
405 | 405 |
|
406 | 406 |
static MegasasCmd *megasas_lookup_frame(MegasasState *s, |
407 |
target_phys_addr_t frame)
|
|
407 |
hwaddr frame)
|
|
408 | 408 |
{ |
409 | 409 |
MegasasCmd *cmd = NULL; |
410 | 410 |
int num = 0, index; |
... | ... | |
424 | 424 |
} |
425 | 425 |
|
426 | 426 |
static MegasasCmd *megasas_next_frame(MegasasState *s, |
427 |
target_phys_addr_t frame)
|
|
427 |
hwaddr frame)
|
|
428 | 428 |
{ |
429 | 429 |
MegasasCmd *cmd = NULL; |
430 | 430 |
int num = 0, index; |
... | ... | |
452 | 452 |
} |
453 | 453 |
|
454 | 454 |
static MegasasCmd *megasas_enqueue_frame(MegasasState *s, |
455 |
target_phys_addr_t frame, uint64_t context, int count)
|
|
455 |
hwaddr frame, uint64_t context, int count)
|
|
456 | 456 |
{ |
457 | 457 |
MegasasCmd *cmd = NULL; |
458 | 458 |
int frame_size = MFI_FRAME_SIZE * 16; |
459 |
target_phys_addr_t frame_size_p = frame_size;
|
|
459 |
hwaddr frame_size_p = frame_size;
|
|
460 | 460 |
|
461 | 461 |
cmd = megasas_next_frame(s, frame); |
462 | 462 |
/* All frames busy */ |
... | ... | |
561 | 561 |
static int megasas_init_firmware(MegasasState *s, MegasasCmd *cmd) |
562 | 562 |
{ |
563 | 563 |
uint32_t pa_hi, pa_lo; |
564 |
target_phys_addr_t iq_pa, initq_size;
|
|
564 |
hwaddr iq_pa, initq_size;
|
|
565 | 565 |
struct mfi_init_qinfo *initq; |
566 | 566 |
uint32_t flags; |
567 | 567 |
int ret = MFI_STAT_OK; |
... | ... | |
1771 | 1771 |
static int megasas_handle_abort(MegasasState *s, MegasasCmd *cmd) |
1772 | 1772 |
{ |
1773 | 1773 |
uint64_t abort_ctx = le64_to_cpu(cmd->frame->abort.abort_context); |
1774 |
target_phys_addr_t abort_addr, addr_hi, addr_lo;
|
|
1774 |
hwaddr abort_addr, addr_hi, addr_lo;
|
|
1775 | 1775 |
MegasasCmd *abort_cmd; |
1776 | 1776 |
|
1777 | 1777 |
addr_hi = le32_to_cpu(cmd->frame->abort.abort_mfi_addr_hi); |
... | ... | |
1861 | 1861 |
} |
1862 | 1862 |
} |
1863 | 1863 |
|
1864 |
static uint64_t megasas_mmio_read(void *opaque, target_phys_addr_t addr,
|
|
1864 |
static uint64_t megasas_mmio_read(void *opaque, hwaddr addr,
|
|
1865 | 1865 |
unsigned size) |
1866 | 1866 |
{ |
1867 | 1867 |
MegasasState *s = opaque; |
... | ... | |
1897 | 1897 |
return retval; |
1898 | 1898 |
} |
1899 | 1899 |
|
1900 |
static void megasas_mmio_write(void *opaque, target_phys_addr_t addr,
|
|
1900 |
static void megasas_mmio_write(void *opaque, hwaddr addr,
|
|
1901 | 1901 |
uint64_t val, unsigned size) |
1902 | 1902 |
{ |
1903 | 1903 |
MegasasState *s = opaque; |
... | ... | |
1977 | 1977 |
} |
1978 | 1978 |
}; |
1979 | 1979 |
|
1980 |
static uint64_t megasas_port_read(void *opaque, target_phys_addr_t addr,
|
|
1980 |
static uint64_t megasas_port_read(void *opaque, hwaddr addr,
|
|
1981 | 1981 |
unsigned size) |
1982 | 1982 |
{ |
1983 | 1983 |
return megasas_mmio_read(opaque, addr & 0xff, size); |
1984 | 1984 |
} |
1985 | 1985 |
|
1986 |
static void megasas_port_write(void *opaque, target_phys_addr_t addr,
|
|
1986 |
static void megasas_port_write(void *opaque, hwaddr addr,
|
|
1987 | 1987 |
uint64_t val, unsigned size) |
1988 | 1988 |
{ |
1989 | 1989 |
megasas_mmio_write(opaque, addr & 0xff, val, size); |
... | ... | |
1999 | 1999 |
} |
2000 | 2000 |
}; |
2001 | 2001 |
|
2002 |
static uint64_t megasas_queue_read(void *opaque, target_phys_addr_t addr,
|
|
2002 |
static uint64_t megasas_queue_read(void *opaque, hwaddr addr,
|
|
2003 | 2003 |
unsigned size) |
2004 | 2004 |
{ |
2005 | 2005 |
return 0; |
Also available in: Unified diff