Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Nov 2003 13:07:07 -0800 (PST)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 42383 for review
Message-ID:  <200311142107.hAEL77H5074452@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=42383

Change 42383 by peter@peter_daintree on 2003/11/14 13:06:27

	make this actually work, for what its worth.  It seems that mptables are even
	more likely to be broken here.

Affected files ...

.. //depot/projects/hammer/sys/amd64/amd64/mptable.c#12 edit

Differences ...

==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#12 (text+ko) ====

@@ -27,7 +27,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/i386/i386/mptable.c,v 1.225 2003/11/11 21:19:43 jhb Exp $");
 
-#include "opt_mptable_force_htt.h"
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
@@ -221,18 +220,19 @@
 mptable_probe(void)
 {
 	int     x;
-	u_long  segment;
+	u_int32_t segment;
 	u_int32_t target;
 
 	/* see if EBDA exists */
-	if ((segment = (u_long) * (u_short *) (KERNBASE + 0x40e)) != 0) {
+	segment = (u_int32_t) *(u_short *)(KERNBASE + 0x40e);
+	if (segment != 0) {
 		/* search first 1K of EBDA */
 		target = (u_int32_t) (segment << 4);
 		if ((x = search_for_sig(target, 1024 / 4)) >= 0)
 			goto found;
 	} else {
 		/* last 1K of base memory, effective 'top of base' passed in */
-		target = (u_int32_t) (basemem - 0x400);
+		target = (u_int32_t) ((basemem * 1024) - 0x400);
 		if ((x = search_for_sig(target, 1024 / 4)) >= 0)
 			goto found;
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311142107.hAEL77H5074452>