NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-hp700/41379: PA7150 CPU on 735/125 is not probed properly



>Number:         41379
>Category:       port-hp700
>Synopsis:       PA7150 CPU on 735/125 is not probed properly
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    port-hp700-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 07 12:15:01 +0000 2009
>Originator:     Izumi Tsutsui
>Release:        NetBSD 5.99.11
>Organization:
>Environment:
System: NetBSD 5.99.11, GENERIC kernel after nick-hppapmap merge
Architecture: hppa
Machine: hp700, 735/125
>Description:
5.0 GENERIC kernel detect PA7150 CPU on 735/125 properly:
---
cpu0 at mainbus0 hpa 0xfffbe000 path 8 irq 31 ipl 0: PA7150 (T-Bird) rev 2
cpu0: PCX-T, PA-RISC 1.1b, lev 1, cat A, 125 MHz clk
cpu0: shadows, 256K/256K D/I caches, 120 shared TLB, 16 shared BTLB
cpu0: PCX-T (Rolex - CMOS-26B) floating point, rev 1
---

but -current 5.99.11 GENERIC kernel assumes it's PA7100LC:
---
cpu0 at mainbus0 hpa 0xfffbe000 path 8 irq 31 ipl 0: PA7100LC (Hummingbird) rev 0
cpu0: PCXL, PA-RISC 1.1c, lev 1, cat A, 125 MHz clk
cpu0: shadows, 256K/256K D/I caches, 120 shared TLB, 16 shared BTLB
cpu0: PCXT (Rolex - CMOS-26B) floating point, rev 1
---

1.1c CPUs support uncached memory mappings but 1.1b ones not, so
iee(4) driver doesn't work because it depends on cpu_type to see how
DMA descriptors should be prepared as mentioned in PR port-hp700/35531.

DEBUG output of hp700/machdep.c:hppa_init() says:
---
Start @ 0x200000 [1=0xa92000-0xb16d0c]...
PDC_CACHE_SETCS: 0, 0, 0, 0 (-2)
SPID bits: 0x0, error = -2
pdc_model.hvers 8288
cpuid: model 735/130 (Snake Cheetah)
WARNING: PDC_MODEL_CPUID error -2
pdc_coproc: 0xc0, 0xc0; model 9 rev 1
cpuid: bootstrap fpu
btlb info: minsz=128, maxsz=16384
btlb fixed: i=0, d=0, c=16
btlb varbl: i=0, d=0, c=0
hppa_btlb_size_min 0x80
hppa_btlb_size_max 0x4000
cpuid: pmap_hptsize 0x10000
hppa_init: PDC_CHASSIS
hppa_init: intr bootstrap
---
and it looks earlier models don't support PDC_MODEL_CPUID
in pdc_call() function. In that case cpu_features is used
to check CPU types, but PA7150 seems to support HPPA_FTRS_HVT
while it isn't set in the PA7100 (PCXT) entry of cpu_types[].

>How-To-Repeat:
Boot GENERIC kernel on 735/125.

>Fix:
- use the same strategy with 5.0 (hppa_mod_info(HPPA_TYPE_BOARD) etc.)
- use PDC_COPROC type
- check more proper cpu_features
etc?

---
Izumi Tsutsui



Home | Main Index | Thread Index | Old Index