diff options
author | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-15 16:44:43 +0000 |
---|---|---|
committer | nick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-11-15 16:44:43 +0000 |
commit | 116f05bed56051d67aa8a6095b48790b7682acfb (patch) | |
tree | bd8739918bc296efd5d8ca66fa8892384cb04f96 /linux | |
parent | e107700e170715a782549ae48424ca61abae2048 (diff) | |
download | mpv-116f05bed56051d67aa8a6095b48790b7682acfb.tar.bz2 mpv-116f05bed56051d67aa8a6095b48790b7682acfb.tar.xz |
Fixed iopl ports detection
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2914 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'linux')
-rw-r--r-- | linux/vbelib.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/linux/vbelib.c b/linux/vbelib.c index 1600a53749..409db15372 100644 --- a/linux/vbelib.c +++ b/linux/vbelib.c @@ -110,6 +110,7 @@ int vbeInit( void ) retval = vbeGetProtModeInfo(&vbe_pm_info); if(retval != VBE_OK) return retval; i = 0; + if(vbe_pm_info.iopl_ports) /* Can be NULL !!!*/ while((iopl_port=vbe_pm_info.iopl_ports[i]) != 0xFFFF && vbe_pm_info.iopl_ports[i++] > 1023) ioperm(iopl_port,1,1); iopl(3); @@ -624,10 +625,12 @@ int vbeGetProtModeInfo(struct VesaProtModeInterface *pm_info) if(verbose > 1) printf("vbelib: SetPaletteData=%04X:%04X => %p\n",r.es,info_offset+rm_info->SetPaletteData,pm_info->SetPaletteData); #endif pm_info->iopl_ports = PhysToVirtSO(r.es,info_offset+rm_info->iopl_ports); + if(!rm_info->iopl_ports) pm_info->iopl_ports = NULL; + else if(!check_wrd(pm_info->iopl_ports)) { pm_info->iopl_ports = NULL; - retval = VBE_BROKEN_BIOS; +/* retval = VBE_BROKEN_BIOS; <- It's for broken BIOSes only */ } #ifdef HAVE_VERBOSE_VAR if(verbose > 1) |