Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Nov 1996 04:14:53 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        cvs-all@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-sys@freefall.freebsd.org, nate@freefall.freebsd.org
Subject:   Re: cvs commit:  src/sys/i386/isa syscons.c syscons.h
Message-ID:  <199611101714.EAA12879@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
  Modified:    sys/i386/isa  syscons.c syscons.h
  Log:
  Allow us to enable the 'XT_KEYBOARD' code using a configuration flag.
  This allows the user to add modify syscons's configuration flags using
  UserConfig that will allow older/quirky hardware (most notably older IBM
  ThinkPad laptops) to work with the standard boot kernel.

Please nuke the XT_KEYBOARD option and document the flag next to the
syscons flags in LINT and in keyboard.4.  The other new syscons flags
are also undocumented.

I'm going to replace the i586 optimized copying options (including the
one for copyin/copyout that went away) by negative-logic npx flags.
This is mainly for 2.2.  I don't trust copying through the FPU to work
on i586 clones.  The flags should be somewhere else (maybe in a `cpu'
or `misc' "driver", but npx is more convenient and not wrong for things
involving the FPU.  npxattach() also avoids attaching the FPU-based
copy routines if a h/w FPU with a working exception 16 interface is not
being used.  There are tricky context switching problems if IRQ13 is
being used.

I also hacked away the need for MAXMEM:

---
diff -c2 machdep.c~ machdep.c
*** machdep.c~	Fri Nov  8 03:51:22 1996
--- machdep.c	Mon Nov 11 03:39:12 1996
***************
*** 973,976 ****
--- 1003,1007 ----
  	struct gate_descriptor *gdp;
  	int gsel_tss;
+ 	struct isa_device *idp;
  	/* table descriptors - used to load tables by microp */
  	struct region_descriptor r_gdt, r_idt;
***************
*** 1176,1179 ****
--- 1212,1219 ----
  #endif
  
+ 	idp = find_isadev(isa_devtab_null, &npxdriver, 0);
+ 	if (idp != NULL && idp->id_msize != 0)
+ 		Maxmem = idp->id_msize / 4;
+ 
  	/* call pmap initialization to make new kernel address space */
  	pmap_bootstrap (first, 0);
----

This doesn't work until the system is rebooted with the new "memory" size
in effect after changing it with userconfig (`id_msize' is actually normally
the i/o size).

Bruce



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