Revision 6a0ee36a
b/hw/vga.c | ||
---|---|---|
767 | 767 |
static uint32_t vga_mem_readw(void *opaque, target_phys_addr_t addr) |
768 | 768 |
{ |
769 | 769 |
uint32_t v; |
770 |
#ifdef TARGET_WORDS_BIGENDIAN |
|
771 |
v = vga_mem_readb(opaque, addr) << 8; |
|
772 |
v |= vga_mem_readb(opaque, addr + 1); |
|
773 |
#else |
|
774 | 770 |
v = vga_mem_readb(opaque, addr); |
775 | 771 |
v |= vga_mem_readb(opaque, addr + 1) << 8; |
776 |
#endif |
|
777 | 772 |
return v; |
778 | 773 |
} |
779 | 774 |
|
780 | 775 |
static uint32_t vga_mem_readl(void *opaque, target_phys_addr_t addr) |
781 | 776 |
{ |
782 | 777 |
uint32_t v; |
783 |
#ifdef TARGET_WORDS_BIGENDIAN |
|
784 |
v = vga_mem_readb(opaque, addr) << 24; |
|
785 |
v |= vga_mem_readb(opaque, addr + 1) << 16; |
|
786 |
v |= vga_mem_readb(opaque, addr + 2) << 8; |
|
787 |
v |= vga_mem_readb(opaque, addr + 3); |
|
788 |
#else |
|
789 | 778 |
v = vga_mem_readb(opaque, addr); |
790 | 779 |
v |= vga_mem_readb(opaque, addr + 1) << 8; |
791 | 780 |
v |= vga_mem_readb(opaque, addr + 2) << 16; |
792 | 781 |
v |= vga_mem_readb(opaque, addr + 3) << 24; |
793 |
#endif |
|
794 | 782 |
return v; |
795 | 783 |
} |
796 | 784 |
|
... | ... | |
931 | 919 |
|
932 | 920 |
static void vga_mem_writew(void *opaque, target_phys_addr_t addr, uint32_t val) |
933 | 921 |
{ |
934 |
#ifdef TARGET_WORDS_BIGENDIAN |
|
935 |
vga_mem_writeb(opaque, addr, (val >> 8) & 0xff); |
|
936 |
vga_mem_writeb(opaque, addr + 1, val & 0xff); |
|
937 |
#else |
|
938 | 922 |
vga_mem_writeb(opaque, addr, val & 0xff); |
939 | 923 |
vga_mem_writeb(opaque, addr + 1, (val >> 8) & 0xff); |
940 |
#endif |
|
941 | 924 |
} |
942 | 925 |
|
943 | 926 |
static void vga_mem_writel(void *opaque, target_phys_addr_t addr, uint32_t val) |
944 | 927 |
{ |
945 |
#ifdef TARGET_WORDS_BIGENDIAN |
|
946 |
vga_mem_writeb(opaque, addr, (val >> 24) & 0xff); |
|
947 |
vga_mem_writeb(opaque, addr + 1, (val >> 16) & 0xff); |
|
948 |
vga_mem_writeb(opaque, addr + 2, (val >> 8) & 0xff); |
|
949 |
vga_mem_writeb(opaque, addr + 3, val & 0xff); |
|
950 |
#else |
|
951 | 928 |
vga_mem_writeb(opaque, addr, val & 0xff); |
952 | 929 |
vga_mem_writeb(opaque, addr + 1, (val >> 8) & 0xff); |
953 | 930 |
vga_mem_writeb(opaque, addr + 2, (val >> 16) & 0xff); |
954 | 931 |
vga_mem_writeb(opaque, addr + 3, (val >> 24) & 0xff); |
955 |
#endif |
|
956 | 932 |
} |
957 | 933 |
|
958 | 934 |
typedef void vga_draw_glyph8_func(uint8_t *d, int linesize, |
... | ... | |
2321 | 2297 |
#endif /* CONFIG_BOCHS_VBE */ |
2322 | 2298 |
|
2323 | 2299 |
vga_io_memory = cpu_register_io_memory(vga_mem_read, vga_mem_write, s, |
2324 |
DEVICE_NATIVE_ENDIAN);
|
|
2300 |
DEVICE_LITTLE_ENDIAN);
|
|
2325 | 2301 |
cpu_register_physical_memory(isa_mem_base + 0x000a0000, 0x20000, |
2326 | 2302 |
vga_io_memory); |
2327 | 2303 |
qemu_register_coalesced_mmio(isa_mem_base + 0x000a0000, 0x20000); |
Also available in: Unified diff