Cannot boot the 7-current's GENERIC kernel on some old PCs (Pentium/P54C, DX4ODP)

From: Watanabe Kazuhiro <CQG00620_at_nifty.ne.jp>
Date: Mon, 06 Feb 2006 21:55:21 +0900
Hi, all.

I have some old PCs which CPU is Intel Pentium/P54C and DX4ODP.
They cannot boot the recent 7-current's GENERIC kernel.

 * NEC PC-9821Xa9	(CPU: Pentium/P54C, Memory: 64MB, pc98)
 * NEC PC-9821As2	(CPU: DX4ODP, Memory: 42MB, pc98)
 * Fujitsu FMV-575D4	(CPU: Pentium/P54C, Memory: 128MB, i386)

They can boot 6.0-RELEASE, but cannot boot 7-current (CVSup'ed with
date=2006.01.26.00.00.00).  The kernel booting message is below:

| GDB: no debug ports present
| KDB: debugger backends: ddb
| KDB: current backend: ddb
| Copyright (c) 1992-2006 The FreeBSD Project.
| Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
|         The Regents of the University of California. All rights reserved.
| FreeBSD 7.0-CURRENT #11: Sat Feb  4 20:44:38 JST 2006
|     nabe_at_scorpio.zodiac.org:/FreeBSD/obj-current/FreeBSD/FreeBSD-current/src/sys/GENERIC
| WARNING: WITNESS option enabled, expect reduced performance.
(stopped here)

But when I add a "options PQ_NOOPT" configulation option to the
GENERIC kernel configulation file and recompile it, this kernel is
able to boot on these PCs.

However, if I try to boot the kernel with "boot -v", it still hangs
up:

| GDB: no debug ports present
| KDB: debugger backends: ddb
| KDB: current backend: ddb
| Copyright (c) 1992-2006 The FreeBSD Project.
| Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
|         The Regents of the University of California. All rights reserved.
| FreeBSD 7.0-CURRENT #0: Sun Feb  5 14:12:05 JST 2006
|     nabe_at_scorpio.zodiac.org:/FreeBSD/obj-current/FreeBSD/FreeBSD-current/src/sys/GENERIC_PQ_NOOPT
| WARNING: WITNESS option enabled, expect reduced performance.
| Preloaded elf kernel "/kernel" at 0xc0f53000.
| Preloaded elf module "/acpi.ko" at 0xc0f530c0.
| Preloaded mfs_root "/mfsroot" at 0xc0f53160.
| Calibrating clock(s) ... i8254 clock: 1193258 Hz
| CLK_USE_I8254_CALIBRATION not specified - using default frequency
| Timecounter "i8254" frequency 1193182 Hz quality 0
| Calibrating TSC clock ... TSC clock: 74851622 Hz
| CPU: Pentium/P54C (74.85-MHz 586-class CPU)
|   Origin = "GenuineIntel"  Id = 0x525  Stepping = 5
|   Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
(stopped here)


I think this is caused by the CPU cache detection functions in
sys/i386/i386/identcpu.c (but I have no idea to solve the problem).
These ware comitted at the end of December 2005.  From src/UPDATING:

| 20051231:
|         The page coloring algorithm in the VM subsystem was converted
|         from tuning with kernel options to autotuning. Please remove
|         any PQ_* option except PQ_NOOPT from your kernel config.

P.S. Today's 7-current still hangs up (tested FreeBSD/pc98 on Xa9).
---
Watanabe Kazuhiro (CQG00620_at_nifty.ne.jp)
Received on Mon Feb 06 2006 - 11:55:14 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:52 UTC