Revision 3fbb33d0

b/hw/cirrus_vga.c
2004 2004
static uint32_t cirrus_vga_mem_readw(void *opaque, target_phys_addr_t addr)
2005 2005
{
2006 2006
    uint32_t v;
2007
#ifdef TARGET_WORDS_BIGENDIAN
2008
    v = cirrus_vga_mem_readb(opaque, addr) << 8;
2009
    v |= cirrus_vga_mem_readb(opaque, addr + 1);
2010
#else
2007

  
2011 2008
    v = cirrus_vga_mem_readb(opaque, addr);
2012 2009
    v |= cirrus_vga_mem_readb(opaque, addr + 1) << 8;
2013
#endif
2014 2010
    return v;
2015 2011
}
2016 2012

  
2017 2013
static uint32_t cirrus_vga_mem_readl(void *opaque, target_phys_addr_t addr)
2018 2014
{
2019 2015
    uint32_t v;
2020
#ifdef TARGET_WORDS_BIGENDIAN
2021
    v = cirrus_vga_mem_readb(opaque, addr) << 24;
2022
    v |= cirrus_vga_mem_readb(opaque, addr + 1) << 16;
2023
    v |= cirrus_vga_mem_readb(opaque, addr + 2) << 8;
2024
    v |= cirrus_vga_mem_readb(opaque, addr + 3);
2025
#else
2016

  
2026 2017
    v = cirrus_vga_mem_readb(opaque, addr);
2027 2018
    v |= cirrus_vga_mem_readb(opaque, addr + 1) << 8;
2028 2019
    v |= cirrus_vga_mem_readb(opaque, addr + 2) << 16;
2029 2020
    v |= cirrus_vga_mem_readb(opaque, addr + 3) << 24;
2030
#endif
2031 2021
    return v;
2032 2022
}
2033 2023

  
......
2098 2088

  
2099 2089
static void cirrus_vga_mem_writew(void *opaque, target_phys_addr_t addr, uint32_t val)
2100 2090
{
2101
#ifdef TARGET_WORDS_BIGENDIAN
2102
    cirrus_vga_mem_writeb(opaque, addr, (val >> 8) & 0xff);
2103
    cirrus_vga_mem_writeb(opaque, addr + 1, val & 0xff);
2104
#else
2105 2091
    cirrus_vga_mem_writeb(opaque, addr, val & 0xff);
2106 2092
    cirrus_vga_mem_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2107
#endif
2108 2093
}
2109 2094

  
2110 2095
static void cirrus_vga_mem_writel(void *opaque, target_phys_addr_t addr, uint32_t val)
2111 2096
{
2112
#ifdef TARGET_WORDS_BIGENDIAN
2113
    cirrus_vga_mem_writeb(opaque, addr, (val >> 24) & 0xff);
2114
    cirrus_vga_mem_writeb(opaque, addr + 1, (val >> 16) & 0xff);
2115
    cirrus_vga_mem_writeb(opaque, addr + 2, (val >> 8) & 0xff);
2116
    cirrus_vga_mem_writeb(opaque, addr + 3, val & 0xff);
2117
#else
2118 2097
    cirrus_vga_mem_writeb(opaque, addr, val & 0xff);
2119 2098
    cirrus_vga_mem_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2120 2099
    cirrus_vga_mem_writeb(opaque, addr + 2, (val >> 16) & 0xff);
2121 2100
    cirrus_vga_mem_writeb(opaque, addr + 3, (val >> 24) & 0xff);
2122
#endif
2123 2101
}
2124 2102

  
2125 2103
static CPUReadMemoryFunc * const cirrus_vga_mem_read[3] = {
......
2341 2319
static uint32_t cirrus_linear_readw(void *opaque, target_phys_addr_t addr)
2342 2320
{
2343 2321
    uint32_t v;
2344
#ifdef TARGET_WORDS_BIGENDIAN
2345
    v = cirrus_linear_readb(opaque, addr) << 8;
2346
    v |= cirrus_linear_readb(opaque, addr + 1);
2347
#else
2322

  
2348 2323
    v = cirrus_linear_readb(opaque, addr);
2349 2324
    v |= cirrus_linear_readb(opaque, addr + 1) << 8;
2350
#endif
2351 2325
    return v;
2352 2326
}
2353 2327

  
2354 2328
static uint32_t cirrus_linear_readl(void *opaque, target_phys_addr_t addr)
2355 2329
{
2356 2330
    uint32_t v;
2357
#ifdef TARGET_WORDS_BIGENDIAN
2358
    v = cirrus_linear_readb(opaque, addr) << 24;
2359
    v |= cirrus_linear_readb(opaque, addr + 1) << 16;
2360
    v |= cirrus_linear_readb(opaque, addr + 2) << 8;
2361
    v |= cirrus_linear_readb(opaque, addr + 3);
2362
#else
2331

  
2363 2332
    v = cirrus_linear_readb(opaque, addr);
2364 2333
    v |= cirrus_linear_readb(opaque, addr + 1) << 8;
2365 2334
    v |= cirrus_linear_readb(opaque, addr + 2) << 16;
2366 2335
    v |= cirrus_linear_readb(opaque, addr + 3) << 24;
2367
#endif
2368 2336
    return v;
2369 2337
}
2370 2338

  
......
2412 2380
static void cirrus_linear_writew(void *opaque, target_phys_addr_t addr,
2413 2381
				 uint32_t val)
2414 2382
{
2415
#ifdef TARGET_WORDS_BIGENDIAN
2416
    cirrus_linear_writeb(opaque, addr, (val >> 8) & 0xff);
2417
    cirrus_linear_writeb(opaque, addr + 1, val & 0xff);
2418
#else
2419 2383
    cirrus_linear_writeb(opaque, addr, val & 0xff);
2420 2384
    cirrus_linear_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2421
#endif
2422 2385
}
2423 2386

  
2424 2387
static void cirrus_linear_writel(void *opaque, target_phys_addr_t addr,
2425 2388
				 uint32_t val)
2426 2389
{
2427
#ifdef TARGET_WORDS_BIGENDIAN
2428
    cirrus_linear_writeb(opaque, addr, (val >> 24) & 0xff);
2429
    cirrus_linear_writeb(opaque, addr + 1, (val >> 16) & 0xff);
2430
    cirrus_linear_writeb(opaque, addr + 2, (val >> 8) & 0xff);
2431
    cirrus_linear_writeb(opaque, addr + 3, val & 0xff);
2432
#else
2433 2390
    cirrus_linear_writeb(opaque, addr, val & 0xff);
2434 2391
    cirrus_linear_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2435 2392
    cirrus_linear_writeb(opaque, addr + 2, (val >> 16) & 0xff);
2436 2393
    cirrus_linear_writeb(opaque, addr + 3, (val >> 24) & 0xff);
2437
#endif
2438 2394
}
2439 2395

  
2440 2396

  
......
2469 2425
static uint32_t cirrus_linear_bitblt_readw(void *opaque, target_phys_addr_t addr)
2470 2426
{
2471 2427
    uint32_t v;
2472
#ifdef TARGET_WORDS_BIGENDIAN
2473
    v = cirrus_linear_bitblt_readb(opaque, addr) << 8;
2474
    v |= cirrus_linear_bitblt_readb(opaque, addr + 1);
2475
#else
2428

  
2476 2429
    v = cirrus_linear_bitblt_readb(opaque, addr);
2477 2430
    v |= cirrus_linear_bitblt_readb(opaque, addr + 1) << 8;
2478
#endif
2479 2431
    return v;
2480 2432
}
2481 2433

  
2482 2434
static uint32_t cirrus_linear_bitblt_readl(void *opaque, target_phys_addr_t addr)
2483 2435
{
2484 2436
    uint32_t v;
2485
#ifdef TARGET_WORDS_BIGENDIAN
2486
    v = cirrus_linear_bitblt_readb(opaque, addr) << 24;
2487
    v |= cirrus_linear_bitblt_readb(opaque, addr + 1) << 16;
2488
    v |= cirrus_linear_bitblt_readb(opaque, addr + 2) << 8;
2489
    v |= cirrus_linear_bitblt_readb(opaque, addr + 3);
2490
#else
2437

  
2491 2438
    v = cirrus_linear_bitblt_readb(opaque, addr);
2492 2439
    v |= cirrus_linear_bitblt_readb(opaque, addr + 1) << 8;
2493 2440
    v |= cirrus_linear_bitblt_readb(opaque, addr + 2) << 16;
2494 2441
    v |= cirrus_linear_bitblt_readb(opaque, addr + 3) << 24;
2495
#endif
2496 2442
    return v;
2497 2443
}
2498 2444

  
......
2513 2459
static void cirrus_linear_bitblt_writew(void *opaque, target_phys_addr_t addr,
2514 2460
				 uint32_t val)
2515 2461
{
2516
#ifdef TARGET_WORDS_BIGENDIAN
2517
    cirrus_linear_bitblt_writeb(opaque, addr, (val >> 8) & 0xff);
2518
    cirrus_linear_bitblt_writeb(opaque, addr + 1, val & 0xff);
2519
#else
2520 2462
    cirrus_linear_bitblt_writeb(opaque, addr, val & 0xff);
2521 2463
    cirrus_linear_bitblt_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2522
#endif
2523 2464
}
2524 2465

  
2525 2466
static void cirrus_linear_bitblt_writel(void *opaque, target_phys_addr_t addr,
2526 2467
				 uint32_t val)
2527 2468
{
2528
#ifdef TARGET_WORDS_BIGENDIAN
2529
    cirrus_linear_bitblt_writeb(opaque, addr, (val >> 24) & 0xff);
2530
    cirrus_linear_bitblt_writeb(opaque, addr + 1, (val >> 16) & 0xff);
2531
    cirrus_linear_bitblt_writeb(opaque, addr + 2, (val >> 8) & 0xff);
2532
    cirrus_linear_bitblt_writeb(opaque, addr + 3, val & 0xff);
2533
#else
2534 2469
    cirrus_linear_bitblt_writeb(opaque, addr, val & 0xff);
2535 2470
    cirrus_linear_bitblt_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2536 2471
    cirrus_linear_bitblt_writeb(opaque, addr + 2, (val >> 16) & 0xff);
2537 2472
    cirrus_linear_bitblt_writeb(opaque, addr + 3, (val >> 24) & 0xff);
2538
#endif
2539 2473
}
2540 2474

  
2541 2475

  
......
2842 2776
static uint32_t cirrus_mmio_readw(void *opaque, target_phys_addr_t addr)
2843 2777
{
2844 2778
    uint32_t v;
2845
#ifdef TARGET_WORDS_BIGENDIAN
2846
    v = cirrus_mmio_readb(opaque, addr) << 8;
2847
    v |= cirrus_mmio_readb(opaque, addr + 1);
2848
#else
2779

  
2849 2780
    v = cirrus_mmio_readb(opaque, addr);
2850 2781
    v |= cirrus_mmio_readb(opaque, addr + 1) << 8;
2851
#endif
2852 2782
    return v;
2853 2783
}
2854 2784

  
2855 2785
static uint32_t cirrus_mmio_readl(void *opaque, target_phys_addr_t addr)
2856 2786
{
2857 2787
    uint32_t v;
2858
#ifdef TARGET_WORDS_BIGENDIAN
2859
    v = cirrus_mmio_readb(opaque, addr) << 24;
2860
    v |= cirrus_mmio_readb(opaque, addr + 1) << 16;
2861
    v |= cirrus_mmio_readb(opaque, addr + 2) << 8;
2862
    v |= cirrus_mmio_readb(opaque, addr + 3);
2863
#else
2788

  
2864 2789
    v = cirrus_mmio_readb(opaque, addr);
2865 2790
    v |= cirrus_mmio_readb(opaque, addr + 1) << 8;
2866 2791
    v |= cirrus_mmio_readb(opaque, addr + 2) << 16;
2867 2792
    v |= cirrus_mmio_readb(opaque, addr + 3) << 24;
2868
#endif
2869 2793
    return v;
2870 2794
}
2871 2795

  
......
2886 2810
static void cirrus_mmio_writew(void *opaque, target_phys_addr_t addr,
2887 2811
			       uint32_t val)
2888 2812
{
2889
#ifdef TARGET_WORDS_BIGENDIAN
2890
    cirrus_mmio_writeb(opaque, addr, (val >> 8) & 0xff);
2891
    cirrus_mmio_writeb(opaque, addr + 1, val & 0xff);
2892
#else
2893 2813
    cirrus_mmio_writeb(opaque, addr, val & 0xff);
2894 2814
    cirrus_mmio_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2895
#endif
2896 2815
}
2897 2816

  
2898 2817
static void cirrus_mmio_writel(void *opaque, target_phys_addr_t addr,
2899 2818
			       uint32_t val)
2900 2819
{
2901
#ifdef TARGET_WORDS_BIGENDIAN
2902
    cirrus_mmio_writeb(opaque, addr, (val >> 24) & 0xff);
2903
    cirrus_mmio_writeb(opaque, addr + 1, (val >> 16) & 0xff);
2904
    cirrus_mmio_writeb(opaque, addr + 2, (val >> 8) & 0xff);
2905
    cirrus_mmio_writeb(opaque, addr + 3, val & 0xff);
2906
#else
2907 2820
    cirrus_mmio_writeb(opaque, addr, val & 0xff);
2908 2821
    cirrus_mmio_writeb(opaque, addr + 1, (val >> 8) & 0xff);
2909 2822
    cirrus_mmio_writeb(opaque, addr + 2, (val >> 16) & 0xff);
2910 2823
    cirrus_mmio_writeb(opaque, addr + 3, (val >> 24) & 0xff);
2911
#endif
2912 2824
}
2913 2825

  
2914 2826

  
......
3078 2990

  
3079 2991
    s->vga.vga_io_memory = cpu_register_io_memory(cirrus_vga_mem_read,
3080 2992
                                                  cirrus_vga_mem_write, s,
3081
                                                  DEVICE_NATIVE_ENDIAN);
2993
                                                  DEVICE_LITTLE_ENDIAN);
3082 2994
    cpu_register_physical_memory(isa_mem_base + 0x000a0000, 0x20000,
3083 2995
                                 s->vga.vga_io_memory);
3084 2996
    qemu_register_coalesced_mmio(isa_mem_base + 0x000a0000, 0x20000);
......
3086 2998
    /* I/O handler for LFB */
3087 2999
    s->cirrus_linear_io_addr =
3088 3000
        cpu_register_io_memory(cirrus_linear_read, cirrus_linear_write, s,
3089
                               DEVICE_NATIVE_ENDIAN);
3001
                               DEVICE_LITTLE_ENDIAN);
3090 3002

  
3091 3003
    /* I/O handler for LFB */
3092 3004
    s->cirrus_linear_bitblt_io_addr =
3093 3005
        cpu_register_io_memory(cirrus_linear_bitblt_read,
3094 3006
                               cirrus_linear_bitblt_write, s,
3095
                               DEVICE_NATIVE_ENDIAN);
3007
                               DEVICE_LITTLE_ENDIAN);
3096 3008

  
3097 3009
    /* I/O handler for memory-mapped I/O */
3098 3010
    s->cirrus_mmio_io_addr =
3099 3011
        cpu_register_io_memory(cirrus_mmio_read, cirrus_mmio_write, s,
3100
                               DEVICE_NATIVE_ENDIAN);
3012
                               DEVICE_LITTLE_ENDIAN);
3101 3013

  
3102 3014
    s->real_vram_size =
3103 3015
        (s->device_id == CIRRUS_ID_CLGD5446) ? 4096 * 1024 : 2048 * 1024;

Also available in: Unified diff