Changeset 4151 in vbox
- Timestamp:
- Aug 14, 2007 1:51:05 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 23637
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r4071 r4151 596 596 } 597 597 598 static voidvbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val)598 static int vbe_ioport_write_data(void *opaque, uint32_t addr, uint32_t val) 599 599 { 600 600 VGAState *s = (VGAState*)opaque; … … 674 674 break; 675 675 case VBE_DISPI_INDEX_ENABLE: 676 #ifndef IN_RING3 677 return VINF_IOM_HC_IOPORT_WRITE; 678 #else 676 679 if (val & VBE_DISPI_ENABLED) { 677 680 int h, shift_control; … … 691 694 AssertMsgFailed(("XRES=%d YRES=%d cb=%d vram_size=%d\n", 692 695 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 */ 694 697 } 695 698 #else /* KEEP_SCAN_LINE_LENGTH defined */ … … 700 703 AssertMsgFailed(("VIRT WIDTH=%d YRES=%d cb=%d vram_size=%d\n", 701 704 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 */ 703 706 } 704 707 #endif /* KEEP_SCAN_LINE_LENGTH defined */ … … 784 787 } 785 788 s->vbe_regs[s->vbe_index] = val; 786 #ifdef VBOX787 #ifdef IN_RING3788 789 /* 789 790 * LFB video mode is either disabled or changed. This notification … … 791 792 */ 792 793 s->pDrv->pfnLFBModeChange(s->pDrv, (val & VBE_DISPI_ENABLED) != 0); 794 break; 793 795 #endif /* IN_RING3 */ 794 #endif /* VBOX */795 break;796 796 case VBE_DISPI_INDEX_VIRT_WIDTH: 797 797 { … … 799 799 800 800 if (val < s->vbe_regs[VBE_DISPI_INDEX_XRES]) 801 return ;801 return VINF_SUCCESS; 802 802 w = val; 803 803 if (s->vbe_regs[VBE_DISPI_INDEX_BPP] == 4) … … 808 808 /* XXX: support weird bochs semantics ? */ 809 809 if (h < s->vbe_regs[VBE_DISPI_INDEX_YRES]) 810 return ;810 return VINF_SUCCESS; 811 811 s->vbe_regs[VBE_DISPI_INDEX_VIRT_WIDTH] = w; 812 812 s->vbe_regs[VBE_DISPI_INDEX_VIRT_HEIGHT] = h; … … 830 830 case VBE_DISPI_INDEX_VBOX_VIDEO: 831 831 #ifdef VBOX 832 #ifdef IN_RING3 832 #ifndef IN_RING3 833 return VINF_IOM_HC_IOPORT_WRITE; 834 #else 833 835 /* Changes in the VGA device are minimal. The device is bypassed. The driver does all work. */ 834 836 if (val == VBOX_VIDEO_DISABLE_ADAPTER_MEMORY) … … 851 853 } 852 854 } 855 return VINF_SUCCESS; 853 856 } 854 857 #endif … … 2764 2767 { 2765 2768 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); 2768 2770 } 2769 2771 else … … 2797 2799 // } 2798 2800 //#endif 2799 vbe_ioport_write_data(s, Port, u32);2801 return vbe_ioport_write_data(s, Port, u32); 2800 2802 } 2801 2803 else
Note:
See TracChangeset
for help on using the changeset viewer.