VirtualBox

Changeset 15120 in vbox


Ignore:
Timestamp:
Dec 8, 2008 4:53:53 PM (16 years ago)
Author:
vboxsync
Message:

Removed bank mask which assumed power of two VRAM size, replaced with max bank index.

Location:
trunk/src/VBox/Devices/Graphics
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r14918 r15120  
    898898            break;
    899899        case VBE_DISPI_INDEX_BANK:
    900             if (s->vbe_regs[VBE_DISPI_INDEX_BPP] == 4) {
    901               val &= (s->vbe_bank_mask >> 2);
    902             } else {
    903               val &= s->vbe_bank_mask;
    904             }
    905             val &= s->vbe_bank_mask;
     900            if (val > s->vbe_bank_max)
     901                val = s->vbe_bank_max;
    906902            s->vbe_regs[s->vbe_index] = val;
    907903            s->bank_offset = (val << 16);
     
    25632559    qemu_put_be32s(f, &s->vbe_start_addr);
    25642560    qemu_put_be32s(f, &s->vbe_line_offset);
    2565     qemu_put_be32s(f, &s->vbe_bank_mask);
    25662561#else
    25672562    qemu_put_byte(f, 0);
     
    26232618    qemu_get_be32s(f, &s->vbe_start_addr);
    26242619    qemu_get_be32s(f, &s->vbe_line_offset);
    2625     qemu_get_be32s(f, &s->vbe_bank_mask);
     2620    s->vbe_bank_max = s->vram_size >> 16;
    26262621#else
    26272622    if (is_vbe)
     
    27292724#ifdef CONFIG_BOCHS_VBE
    27302725    s->vbe_regs[VBE_DISPI_INDEX_ID] = VBE_DISPI_ID0;
    2731     s->vbe_bank_mask = ((s->vram_size >> 16) - 1);
     2726    s->vbe_bank_max = s->vram_size >> 16;
    27322727#if defined (TARGET_I386)
    27332728    register_ioport_read(0x1ce, 1, 2, vbe_ioport_read_index, s);
     
    51865181    pThis->vbe_regs[VBE_DISPI_INDEX_ID] = VBE_DISPI_ID0;
    51875182    pThis->vbe_regs[VBE_DISPI_INDEX_VBOX_VIDEO] = 0;
    5188     pThis->vbe_bank_mask    = ((pThis->vram_size >> 16) - 1);
     5183    pThis->vbe_bank_max   = pThis->vram_size >> 16;
    51895184#endif /* CONFIG_BOCHS_VBE */
    51905185
     
    56465641
    56475642    /* save */
    5648     rc = PDMDevHlpSSMRegister(pDevIns, pDevIns->pDevReg->szDeviceName, iInstance, 1 /* version */, sizeof(*pThis),
     5643    rc = PDMDevHlpSSMRegister(pDevIns, pDevIns->pDevReg->szDeviceName, iInstance, 2 /* version */, sizeof(*pThis),
    56495644                                          NULL, vgaR3SaveExec, NULL,
    56505645                                          NULL, vgaR3LoadExec, NULL);
  • trunk/src/VBox/Devices/Graphics/DevVGA.h

    r14829 r15120  
    103103    uint32_t vbe_start_addr;                    \
    104104    uint32_t vbe_line_offset;                   \
    105     uint32_t vbe_bank_mask;
     105    uint32_t vbe_bank_max;
    106106
    107107#else
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette