Skip site navigation (1)Skip section navigation (2)
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(&regs, 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(&regs, 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>