Commit 1d8d4d86 authored by BALATON Zoltan's avatar BALATON Zoltan Committed by Gerd Hoffmann
Browse files

ati-vga: Add registers for getting apertures



Some drivers (e.g. Linux radeon drm and MacOS) access these to find
apertures to access card. Try to implement these but not sure these
are correct yet.

Signed-off-by: default avatarBALATON Zoltan <balaton@eik.bme.hu>
Message-id: b2df13655feecd63c0049ec45fd87d1026f67091.1565558093.git.balaton@eik.bme.hu
Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent 17dc5799
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -307,6 +307,21 @@ static uint64_t ati_mm_read(void *opaque, hwaddr addr, unsigned int size)
    case CNFG_MEMSIZE:
        val = s->vga.vram_size;
        break;
    case CONFIG_APER_0_BASE:
    case CONFIG_APER_1_BASE:
        val = pci_default_read_config(&s->dev,
                                      PCI_BASE_ADDRESS_0, size) & 0xfffffff0;
        break;
    case CONFIG_APER_SIZE:
        val = s->vga.vram_size;
        break;
    case CONFIG_REG_1_BASE:
        val = pci_default_read_config(&s->dev,
                                      PCI_BASE_ADDRESS_2, size) & 0xfffffff0;
        break;
    case CONFIG_REG_APER_SIZE:
        val = memory_region_size(&s->mm);
        break;
    case MC_STATUS:
        val = 5;
        break;
+5 −0
Original line number Diff line number Diff line
@@ -28,6 +28,11 @@ static struct ati_regdesc ati_reg_names[] = {
    {"CNFG_CNTL", 0x00e0},
    {"GEN_RESET_CNTL", 0x00f0},
    {"CNFG_MEMSIZE", 0x00f8},
    {"CONFIG_APER_0_BASE", 0x0100},
    {"CONFIG_APER_1_BASE", 0x0104},
    {"CONFIG_APER_SIZE", 0x0108},
    {"CONFIG_REG_1_BASE", 0x010c},
    {"CONFIG_REG_APER_SIZE", 0x0110},
    {"MEM_CNTL", 0x0140},
    {"MC_FB_LOCATION", 0x0148},
    {"MC_AGP_LOCATION", 0x014C},
+5 −0
Original line number Diff line number Diff line
@@ -46,6 +46,11 @@
#define CNFG_CNTL                               0x00e0
#define GEN_RESET_CNTL                          0x00f0
#define CNFG_MEMSIZE                            0x00f8
#define CONFIG_APER_0_BASE                      0x0100
#define CONFIG_APER_1_BASE                      0x0104
#define CONFIG_APER_SIZE                        0x0108
#define CONFIG_REG_1_BASE                       0x010c
#define CONFIG_REG_APER_SIZE                    0x0110
#define MEM_CNTL                                0x0140
#define MC_FB_LOCATION                          0x0148
#define MC_AGP_LOCATION                         0x014C