VirtualBox

Changeset 4151 in vbox


Ignore:
Timestamp:
Aug 14, 2007 1:51:05 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
23637
Message:

Missing fallbacks for GC & R0 contexts

File:
1 edited

Legend:

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

    r4071 r4151  
    596596}
    597597
    598 static void vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)
     598static int vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)
    599599{
    600600    VGAState *s = (VGAState*)opaque;
     
    674674            break;
    675675        case VBE_DISPI_INDEX_ENABLE:
     676#ifndef IN_RING3
     677            return VINF_IOM_HC_IOPORT_WRITE;
     678#else
    676679            if (val & VBE_DISPI_ENABLED) {
    677680                int h, shift_control;
     
    691694                    AssertMsgFailed(("XRES=%d YRES=%d cb=%d vram_size=%d\n",
    692695                                     s->vbe_regs[VBE_DISPI_INDEX_XRES], s->vbe_regs[VBE_DISPI_INDEX_YRES], cb, s->vram_size));
    693                     return;
     696                    return VINF_SUCCESS; /* Note: silent failure like before */
    694697                }
    695698#else  /* KEEP_SCAN_LINE_LENGTH defined */
     
    700703                    AssertMsgFailed(("VIRT WIDTH=%d YRES=%d cb=%d vram_size=%d\n",
    701704                                     s->vbe_regs[VBE_DISPI_INDEX_VIRT_WIDTH], s->vbe_regs[VBE_DISPI_INDEX_YRES], cb, s->vram_size));
    702                     return;
     705                    return VINF_SUCCESS; /* Note: silent failure like before */
    703706                }
    704707#endif  /* KEEP_SCAN_LINE_LENGTH defined */
     
    784787            }
    785788            s->vbe_regs[s->vbe_index] = val;
    786 #ifdef VBOX
    787 #ifdef IN_RING3
    788789            /*
    789790             * LFB video mode is either disabled or changed. This notification
     
    791792             */
    792793            s->pDrv->pfnLFBModeChange(s->pDrv, (val & VBE_DISPI_ENABLED) != 0);
     794            break;
    793795#endif /* IN_RING3 */
    794 #endif /* VBOX */
    795             break;
    796796        case VBE_DISPI_INDEX_VIRT_WIDTH:
    797797            {
     
    799799
    800800                if (val < s->vbe_regs[VBE_DISPI_INDEX_XRES])
    801                     return;
     801                    return VINF_SUCCESS;
    802802                w = val;
    803803                if (s->vbe_regs[VBE_DISPI_INDEX_BPP] == 4)
     
    808808                /* XXX: support weird bochs semantics ? */
    809809                if (h < s->vbe_regs[VBE_DISPI_INDEX_YRES])
    810                     return;
     810                    return VINF_SUCCESS;
    811811                s->vbe_regs[VBE_DISPI_INDEX_VIRT_WIDTH] = w;
    812812                s->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] = h;
     
    830830        case VBE_DISPI_INDEX_VBOX_VIDEO:
    831831#ifdef VBOX
    832 #ifdef IN_RING3
     832#ifndef IN_RING3
     833            return VINF_IOM_HC_IOPORT_WRITE;
     834#else
    833835            /* Changes in the VGA device are minimal. The device is bypassed. The driver does all work. */
    834836            if (val == VBOX_VIDEO_DISABLE_ADAPTER_MEMORY)
     
    851853        }
    852854    }
     855    return VINF_SUCCESS;
    853856}
    854857#endif
     
    27642767            {
    27652768                s->fWriteVBEData = false;
    2766                 vbe_ioport_write_data(s, Port, u32 & 0xFF);
    2767                 return VINF_SUCCESS;
     2769                return vbe_ioport_write_data(s, Port, u32 & 0xFF);
    27682770            }
    27692771            else
     
    27972799//        }
    27982800//#endif
    2799         vbe_ioport_write_data(s, Port, u32);
     2801        return vbe_ioport_write_data(s, Port, u32);
    28002802    }
    28012803    else
Note: See TracChangeset for help on using the changeset viewer.

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