Date: Mon, 21 Sep 2009 12:46:29 +0400 From: Anonymous <swell.k@gmail.com> To: Xin LI <delphij@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r197383 - in head/sys: conf contrib/x86emu dev/dpms dev/fb dev/x86bios modules modules/x86bios modules/x86emu Message-ID: <86my4olm6y.fsf@gmail.com> In-Reply-To: <200909210817.n8L8HvP3080703@svn.freebsd.org> (Xin LI's message of "Mon, 21 Sep 2009 08:17:57 %2B0000 (UTC)") References: <200909210817.n8L8HvP3080703@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-=-= Xin LI <delphij@FreeBSD.org> writes: > Author: delphij > Date: Mon Sep 21 08:17:57 2009 > New Revision: 197383 > URL: http://svn.freebsd.org/changeset/base/197383 > > Log: > Collapase interrupt supporting functions to a new module, and switch from > x86emu to this new module. > > This changeset also brings a fix for bugs introduced with the initial > x86emu commit, which prevents the user from using some display mode or > cause instant reboots during mode switch. > > Submitted by: paradox <ddkprog yahoo com> > > Index: sys/dev/x86bios/x86bios.c [...] > +static moduledata_t x86bios_mod = { > + "x86bios", > + x86bios_modevent, > + NULL, > +}; > + > +DECLARE_MODULE(x86bios, x86bios_mod, SI_SUB_KLD, SI_ORDER_ANY); > +MODULE_VERSION(x86bios, 1); > + SI_SUB_KLD may not work sometimes. If it panics when loaded from loader(8) then better to place it in SI_SUB_CPU or later. BTW, some style(9) fixes didn't make it there. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=a.diff --- sys/dev/fb/vesa.c~ +++ sys/dev/fb/vesa.c @@ -461,7 +461,7 @@ vesa_bios_state_buf_size(void) if ((regs.R_AX & 0xff) != 0x4f) return 0; - return regs.R_BX*64; + return regs.R_BX * 64; } static int @@ -698,7 +698,7 @@ vesa_bios_init(void) vesa_revstr = (char *)x86biosOffs(FARP(vesa_adp_info->v_revstr)); } - vesa_vmodetab = (u_int16_t *)x86biosOffs(FARP(vesa_adp_info->v_modetable)); + vesa_vmodetab = (uint16_t *)x86biosOffs(FARP(vesa_adp_info->v_modetable)); if (vesa_vmodetab == NULL) return 1; @@ -783,7 +783,7 @@ vesa_bios_init(void) - vmode.v_lfb; else vesa_vmode[modes].vi_buffer_size - = vmode.v_offscreen + vmode.v_offscreensize*1024; + = vmode.v_offscreen + vmode.v_offscreensize * 1024; #endif vesa_vmode[modes].vi_mem_model = vesa_translate_mmodel(vmode.v_memmodel); @@ -1269,7 +1269,7 @@ vesa_get_origin(video_adapter_t *adp, of if ((regs.R_AX & 0xff) != 0x4f) return 1; - *offset = regs.DX*adp->va_window_gran; + *offset = regs.DX * adp->va_window_gran; return 0; } @@ -1298,7 +1298,7 @@ vesa_set_origin(video_adapter_t *adp, of regs.R_EAX = 0x4f05; regs.R_EBX = 0; - regs.R_EDX = offset/adp->va_window_gran; + regs.R_EDX = offset / adp->va_window_gran; x86biosCall(®s, 0x10); if ((regs.R_AX & 0xff) != 0x4f) @@ -1306,7 +1306,7 @@ vesa_set_origin(video_adapter_t *adp, of regs.R_EAX = 0x4f05; regs.R_EBX = 1; - regs.R_EDX = offset/adp->va_window_gran; + regs.R_EDX = offset / adp->va_window_gran; x86biosCall(®s, 0x10); adp->va_window_orig = (offset/adp->va_window_gran)*adp->va_window_gran; --- sys/dev/x86bios/x86bios.c~ +++ sys/dev/x86bios/x86bios.c @@ -27,8 +28,8 @@ #include <contrib/x86emu/x86emu_regs.h> #include <dev/x86bios/x86bios.h> -unsigned char *pbiosMem = NULL; -static unsigned char *pbiosStack = NULL; +u_char *pbiosMem = NULL; +static u_char *pbiosStack = NULL; int busySegMap[5]; --- sys/dev/x86bios/x86bios_alloc.c~ +++ sys/dev/x86bios/x86bios_alloc.c @@ -29,7 +29,7 @@ #include <dev/x86bios/x86bios.h> -extern unsigned char *pbiosMem; +extern u_char *pbiosMem; extern int busySegMap[5]; void * @@ -74,7 +74,7 @@ x86biosFree(void *pbuf, int count) int i; int busySeg; - busySeg = ((unsigned char *)pbuf - (unsigned char *)pbiosMem)/4096; + busySeg = ((u_char *)pbuf - pbiosMem) / 4096; for (i = busySeg; i < (busySeg + count); i++) busySegMap[i] = 0; --=-=-=--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86my4olm6y.fsf>