All of lore.kernel.org
 help / color / mirror / Atom feed
* PROBLEM: CPU lockup during halt for Shuttle SB61G2 p4 with hyperthreading 2.4.24
From: Tom Epperly @ 2004-01-28  4:26 UTC (permalink / raw)
  To: linux-smp

[1.] CPU lockup during halt for Shuttle SB61G2 p4 with hyperthreading

[2.] Full description
I've got a Shuttle SB61G2 purchased 12/31/03 with a 2.6GHz P4 with
hyperthreading. Sometimes when shutting down, I get the "Power down."
message, but it doesn't actually power down the system. It just sits
there indefinitely. I tried enabling nmi_watchdog=1, and I
intermittently get kernel oopses. I only started having problems when I
compiled the kernel with SMP enabled. A non-SMP kernel never locks up.

I transcribed the oops message from my screen and ran ksymoops on it. I
am running a vanilla 2.4.24 downloaded from kernel.org compiled with
gcc-2.95.

Please Cc me on replies as I am not subscribed to linux-smp.

[3.] Keywords: Lockup SMP
[4.] Linux version 2.4.24-vanilla (root@faerun) (gcc version 2.95.4
20011002 (Debian prerelease)) #3 SMP Fri Jan 16 07:30:34 PST 2004
[5.] 
I had to write this on paper and then type it in by hand. I was very
careful, but transcription errors are always a possibility:
ksymoops 2.4.9 on i686 2.4.24-vanilla.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.24-vanilla/ (default)
     -m /boot/System.map-2.4.24-vanilla (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Error (regular_file): read_system_map stat
/boot/System.map-2.4.24-vanilla failed
ksymoops: No such file or directory
Warning (compare_maps): mismatch on symbol _nv000173rm  , nvidia says
f8e4bb20, /lib/modules/2.4.24-vanilla/kernel/drivers/video/nvidia.o says
f8e4b900.  Ignoring
/lib/modules/2.4.24-vanilla/kernel/drivers/video/nvidia.o entry
NMI Watchdog detected LOCKUP on CPU1, eip c01a6757, registers:
EIP: 0010: [<c01a6757>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00000046
eax: 00000011 ebx: f7cc9e48 ecx: f7cc9e48 edx: 00000400
esi: 00000010 edi: 00000000 ebp: bffffbc8 esp: f7cc9e08
ds: 0018 es: 0018 ss: 0018
Process halt (pid: 1220, stackpage=f7cc9000)
Stack: 00000018 c01b29cb 00000400 f7cc9e48 00000010 00002001 c02e5e18
00000011
       c02e5e18 c01b26d7 00000010 f7cc9e48 c1c32114 00002001 00000000
00000000
       00000000 c01b24b9 00000000 00000001 f7cc9e68 00002001 c02e5e40
c02e5e40
Call Trace: [<c01b29cb>] [<c01b26d7>] [<c01b24b9>] [<c01b2d5e>]
[<c01c1394>]
 [<c0105523>] [<c012487d>] [<c0122d8a>] [<c0122e11>] [<c01231067>]
[<c01239a5>]
 [<c0141864>] [<c014954d>] [<c0106f27>]
Code: 66 89 01 eb 11 eb 11 8d 74 26 00 ed 89 01 eb 08 0f 0b 4f 01 ec ff


>>EIP; c01a6757 <acpi_os_stall_R__ver_acpi_os_stall+67/17c>   <=====

>>ebx; f7cc9e48 <_end+3794bfe4/385cf1fc>
>>ecx; f7cc9e48 <_end+3794bfe4/385cf1fc>
>>esp; f7cc9e08 <_end+3794bfa4/385cf1fc>

Trace; c01b29cb <acpi_set_register_R__ver_acpi_set_register+4db/6cc>
Trace; c01b26d7 <acpi_set_register_R__ver_acpi_set_register+1e7/6cc>
Trace; c01b24b9 <acpi_get_register_R__ver_acpi_get_register+51/88>
Trace; c01b2d5e
<acpi_enter_sleep_state_R__ver_acpi_enter_sleep_state+1a2/1bc>
Trace; c01c1394
<acpi_pci_irq_enable_R__ver_acpi_pci_irq_enable+bb4/2868>
Trace; c0105523 <machine_power_off+b/314>
Trace; c012487d <unregister_reboot_notifier+365/11a4>
Trace; c0122d8a <dequeue_signal+432/438>
Trace; c0122e11 <send_sig_info+81/98>
Trace; c01231067 <END_OF_CODE+b083c2710/????>
Trace; c01239a5 <notify_parent+685/edc>
Trace; c0141864 <blkdev_put+148/154>
Trace; c014954d <kill_fasync+4f5/528>
Trace; c0106f27 <__read_lock_failed+115f/1520>

Code;  c01a6757 <acpi_os_stall_R__ver_acpi_os_stall+67/17c>
00000000 <_EIP>:
Code;  c01a6757 <acpi_os_stall_R__ver_acpi_os_stall+67/17c>   <=====
   0:   66 89 01                  mov    %ax,(%ecx)   <=====
Code;  c01a675a <acpi_os_stall_R__ver_acpi_os_stall+6a/17c>
   3:   eb 11                     jmp    16 <_EIP+0x16>
Code;  c01a675c <acpi_os_stall_R__ver_acpi_os_stall+6c/17c>
   5:   eb 11                     jmp    18 <_EIP+0x18>
Code;  c01a675e <acpi_os_stall_R__ver_acpi_os_stall+6e/17c>
   7:   8d 74 26 00               lea    0x0(%esi,1),%esi
Code;  c01a6762 <acpi_os_stall_R__ver_acpi_os_stall+72/17c>
   b:   ed                        in     (%dx),%eax
Code;  c01a6763 <acpi_os_stall_R__ver_acpi_os_stall+73/17c>
   c:   89 01                     mov    %eax,(%ecx)
Code;  c01a6765 <acpi_os_stall_R__ver_acpi_os_stall+75/17c>
   e:   eb 08                     jmp    18 <_EIP+0x18>
Code;  c01a6767 <acpi_os_stall_R__ver_acpi_os_stall+77/17c>
  10:   0f 0b                     ud2a   
Code;  c01a6769 <acpi_os_stall_R__ver_acpi_os_stall+79/17c>
  12:   4f                        dec    %edi
Code;  c01a676a <acpi_os_stall_R__ver_acpi_os_stall+7a/17c>
  13:   01 ec                     add    %ebp,%esp
Code;  c01a676c <acpi_os_stall_R__ver_acpi_os_stall+7c/17c>
  15:   ff 00                     incl   (%eax)


2 warnings and 1 error issued.  Results may not be reliable.

[6.]
I booted my machine. gdm (X11) fires up using nVidia drivers. Choose
shutdown from gdm menu. Oops. It happens every once in a while when I
shutdown.
[7.]
[7.1]
faerun:/usr/src/linux-2.4.24# sh scripts/ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
  
Linux faerun 2.4.24-vanilla #3 SMP Fri Jan 16 07:30:34 PST 2004 i686
GNU/Linux
  
Gnu C                  3.3.3
Gnu make               3.80
util-linux             2.12
mount                  2.12
modutils               2.4.26
e2fsprogs              1.35-WIP
PPP                    2.4.2
Linux C Library        2.3.2
Dynamic linker (ldd)   2.3.2
Procps                 3.1.15
Net-tools              1.60
Console-tools          0.2.3
Sh-utils               5.0.91
Modules Loaded         nvidia joydev mousedev hid input binfmt_misc uhci
ide-scsi scsi_mod it87 i2c-proc i2c-isa i2c-core v_midi sound i810_audio
ehci-hcd

I used "make CC=gcc-2.95 HOSTCC=gcc-2.95" when compiling the kernel and
its modules.

faerun:/usr/src/linux-2.4.24#
[7.2.]
faerun:/usr/src/linux-2.4.24# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping        : 9
cpu MHz         : 2605.987
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
bogomips        : 5203.55
 
processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.60GHz
stepping        : 9
cpu MHz         : 2605.987
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid
bogomips        : 5203.55

Intel 865G chipset
faerun:/usr/src/linux-2.4.24#
[7.3.]
faerun:/usr/src/linux-2.4.24# cat /proc/modules
nvidia               1969376  14 (autoclean)
joydev                  7104   0 (unused)
mousedev                3864   1
hid                    13864   0 (unused)
input                   3456   0 [joydev mousedev hid]
binfmt_misc             5896   1
uhci                   24752   0 (unused)
ide-scsi                8976   0
scsi_mod               87496   1 [ide-scsi]
it87                    9768   0 (unused)
i2c-proc                5972   0 [it87]
i2c-isa                  788   0 (unused)
i2c-core               14788   0 [it87 i2c-proc i2c-isa]
v_midi                  4996   0 (unused)
sound                  56428   0 [v_midi]
i810_audio             24312   1
ehci-hcd               15880   0 (unused)
faerun:/usr/src/linux-2.4.24#
[7.4.]
faerun:/usr/src/linux-2.4.24# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
0290-0297 : it87
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)
0500-051f : Intel Corp. 82801EB SMBus Controller
0cf8-0cff : PCI conf1
9000-90ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
  9000-90ff : 8139too
9400-947f : VIA Technologies, Inc. IEEE 1394 Host Controller
a000-a01f : Intel Corp. 82801EB USB
  a000-a01f : usb-uhci
a400-a41f : Intel Corp. 82801EB USB
  a400-a41f : usb-uhci
a800-a81f : Intel Corp. 82801EB USB
  a800-a81f : usb-uhci
ac00-ac1f : Intel Corp. 82801EB USB
  ac00-ac1f : usb-uhci
b400-b4ff : Intel Corp. 82801EB AC'97 Audio Controller
  b400-b4ff : Intel ICH5
b800-b83f : Intel Corp. 82801EB AC'97 Audio Controller
  b800-b83f : Intel ICH5
f000-f00f : Intel Corp. 82801EB Ultra ATA Storage Controller
  f000-f007 : ide0
  f008-f00f : ide1
faerun:/usr/src/linux-2.4.24# cat /proc/iomem
00000000-0009f7ff : System RAM
0009f800-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-3ffeffff : System RAM
  00100000-00281001 : Kernel code
  00281002-0031e83f : Kernel data
3fff0000-3fff2fff : ACPI Non-volatile Storage
3fff3000-3fffffff : ACPI Tables
40000000-400003ff : Intel Corp. 82801EB Ultra ATA Storage Controller
e8000000-efffffff : PCI Bus #01
  e8000000-efffffff : PCI device 10de:0322 (nVidia Corporation)
f0000000-f3ffffff : Intel Corp. 82865G/PE/P Processor to I/O Controller
f4000000-f5ffffff : PCI Bus #01
  f4000000-f4ffffff : PCI device 10de:0322 (nVidia Corporation)
f7000000-f70000ff : Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+
  f7000000-f70000ff : 8139too
f7001000-f70017ff : VIA Technologies, Inc. IEEE 1394 Host Controller
f8000000-f80003ff : Intel Corp. 82801EB USB2
  f8000000-f80003ff : ehci_hcd
f8001000-f80011ff : Intel Corp. 82801EB AC'97 Audio Controller
  f8001000-f80011ff : ich_audio MMBAR
f8002000-f80020ff : Intel Corp. 82801EB AC'97 Audio Controller
  f8002000-f80020ff : ich_audio MBBAR
fec00000-ffffffff : reserved
faerun:/usr/src/linux-2.4.24#
[7.5.]
faerun:/usr/src/linux-2.4.24# lspci -vvv
00:00.0 Host bridge: Intel Corp. 82865G/PE/P Processor to I/O Controller
(rev 02)
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
        Latency: 0
        Region 0: Memory at f0000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [e4] #09 [0106]
        Capabilities: [a0] AGP version 3.0
                Status: RQ=32 Iso- ArqSz=2 Cal=2 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
                Command: RQ=1 ArqSz=0 Cal=2 SBA+ AGP+ GART64- 64bit- FW-
Rate=x8 
00:01.0 PCI bridge: Intel Corp. 82865G/PE/P Processor to AGP Controller
(rev 02) (prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 0000f000-00000fff
        Memory behind bridge: f4000000-f5ffffff
        Prefetchable memory behind bridge: e8000000-efffffff
        BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
 
00:1d.0 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 4: I/O ports at ac00 [size=32]
 
00:1d.1 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin B routed to IRQ 19
        Region 4: I/O ports at a000 [size=32]
 
00:1d.2 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin C routed to IRQ 18
        Region 4: I/O ports at a400 [size=32]
 
00:1d.3 USB Controller: Intel Corp. 82801EB USB (rev 02) (prog-if 00
[UHCI])
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 16
        Region 4: I/O ports at a800 [size=32]
 
00:1d.7 USB Controller: Intel Corp. 82801EB USB2 (rev 02) (prog-if 20
[EHCI])
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin D routed to IRQ 23
        Region 0: Memory at f8000000 (32-bit, non-prefetchable)
[size=1K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev c2)
(prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
        I/O behind bridge: 00009000-00009fff
        Memory behind bridge: f6000000-f7ffffff
        Prefetchable memory behind bridge: fff00000-000fffff
        BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
 
00:1f.0 ISA bridge: Intel Corp. 82801EB LPC Interface Controller (rev
02)
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
 
00:1f.1 IDE interface: Intel Corp. 82801EB Ultra ATA Storage Controller
(rev 02) (prog-if 8a [Master SecP PriP])
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 18
        Region 0: I/O ports at <unassigned>
        Region 1: I/O ports at <unassigned>
        Region 2: I/O ports at <unassigned>
        Region 3: I/O ports at <unassigned>
        Region 4: I/O ports at f000 [size=16]
        Region 5: Memory at 40000000 (32-bit, non-prefetchable)
[size=1K]
 
00:1f.3 SMBus: Intel Corp. 82801EB SMBus Controller (rev 02)
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device fb61
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin B routed to IRQ 17
        Region 4: I/O ports at 0500 [size=32]
 
00:1f.5 Multimedia audio controller: Intel Corp. 82801EB AC'97 Audio
Controller (rev 02)
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer: Unknown
device c09d
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin B routed to IRQ 17
        Region 0: I/O ports at b400 [size=256]
        Region 1: I/O ports at b800 [size=64]
        Region 2: Memory at f8001000 (32-bit, non-prefetchable)
[size=512]
        Region 3: Memory at f8002000 (32-bit, non-prefetchable)
[size=256]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX
5200] (rev a1) (prog-if 00 [VGA])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 248 (1250ns min, 250ns max)
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at f4000000 (32-bit, non-prefetchable)
[size=16M]
        Region 1: Memory at e8000000 (32-bit, prefetchable) [size=128M]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [44] AGP version 3.0
                Status: RQ=32 Iso- ArqSz=0 Cal=3 SBA+ ITACoh- GART64-
HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
                Command: RQ=32 ArqSz=2 Cal=0 SBA+ AGP+ GART64- 64bit-
FW- Rate=x8
 
02:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RT8139
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 18
        Region 0: I/O ports at 9000 [size=256]
        Region 1: Memory at f7000000 (32-bit, non-prefetchable)
[size=256]
        Expansion ROM at <unassigned> [disabled] [size=64K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 
02:08.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host
Controller (rev 80) (prog-if 10 [OHCI])
        Subsystem: VIA Technologies, Inc. IEEE 1394 Host Controller
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (8000ns max), Cache Line Size: 0x08 (32 bytes)
        Interrupt: pin A routed to IRQ 20
        Region 0: Memory at f7001000 (32-bit, non-prefetchable)
[size=2K]
        Region 1: I/O ports at 9400 [size=128]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0-,D1-,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 
faerun:/usr/src/linux-2.4.24#
[7.6.]
faerun:/usr/src/linux-2.4.24# cat /proc/scsi/scsi
Attached devices: none
[7.7.]
faerun:/usr/src/linux-2.4.24# cat /proc/acpi/info
version:                 20031002
states:                  S0 S1 S4 S5
faerun:/usr/src/linux-2.4.24# cat /proc/acpi/alarm
2004-01-27 11:00:10


-- 
Tom Epperly <tomepperly@comcast.net>


^ permalink raw reply

* Re: [uml-devel] Kernel idles in loop after loading IPv4
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: Steven James; +Cc: Phil Nadeau, user-mode-linux-devel
In-Reply-To: <Pine.LNX.4.58.0401272326020.25787@ucontrol.mobiledns.com>

pyro@linuxlabs.com said:
> I ran into that as well, but didn't have time to do much about it. As
> a further datapoint, if I disable all net support and pass it init=/
> bin/bash, I get the bash prompt (ubd filesystems do get checked/
> mounted) but then it goes into the idle loop and stays there. 

Hmmm.

If you could get a stack trace from the last call to schedule, that would be
handy.  You could automate it with
	comm <n>
	bt
	c
	end

with breakpoint <n> attached to schedule().

				Jeff



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [uml-devel] Re: [PATCH] mconsole fixes
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: Dan Shearer; +Cc: user-mode-linux-devel
In-Reply-To: <20040128021652.GP4203@erizo.shearer.org>

dan@shearer.org said:
> My idea was that there's a difference between an error on a connection
> and no connection at all. Having no connection at all can happen very
> easily, especially if you happen to use uml_dir on the cmdline which
> triggers a bug that puts the file in the wrong place. 

OK, that being the case, it's better to complain before sending anything to
UML rather than after you've tried and failed.

> Minor portability potential. See http://www.eskimo.com/~scs/C-faq/
> q11.16.html. (I looked it up once long ago and supposedly _exit is
> more likely to work on more systems than exit.) 

You talked me into it.  I fixed that.

				Jeff



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [uml-devel] PATCH check for sys_sendfile() in port_user.c
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: Dan Shearer; +Cc: user-mode-linux-devel
In-Reply-To: <20040127045014.GZ4203@erizo.shearer.org>

> Some kernels (including SuSE 2.4.20, according to http://
> marc.theaimsgroup.com/?l=user-mode-linux-user&m=107437381718023&w=2)
> don't have sys_sendfile, in which case the port console driver should
> refuse to start up because there is no way for telnetd to get the fd. 

sendfile has nothing to do with passing descriptors across unix sockets.
It is a relatively new performance tweak which allows files to be copied
without the data flowing through userspace.

				Jeff



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [uml-devel] Swapping directly to host swap area?
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: William Stearns; +Cc: ML-uml-devel
In-Reply-To: <Pine.LNX.4.44.0401251827030.2766-100000@sparrow>

wstearns@pobox.com said:
> When a VM needs to swap out, is there some way the UML kernel could
> send that sector directly to the host swap area instead of running its
> own swap?  

No, but this isn't the real question.

> In the current setup, the host kernel sees this as a normal
> write to an open file, caching it in the process and so not truly
> freeing up the ram for a bit. 

This is, and this could be done by setting O_DIRECT on UML swap devices.  That
way, writes go directly (and asynchronously) to the device without landing
in the cache.

With mmap in effect, this can also be done with a MADVISE_DONTNEED on the
relevant pages of the swap file.

Patches cheerfully accepted.

				Jeff



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [uml-devel] [Sebastian.Koch@metatool.de: Re: ps u failed with signal 8 (FPE)]
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: Gerd Knorr; +Cc: uml devel
In-Reply-To: <20040122114858.GH11029@bytesex.org>

kraxel@bytesex.org said:
> The problem is that the proc file system of the UML shows a wrong /
> proc/meminfo. Especially the MemTotal: 

Nice catch.  I was wondering about that SIGFPE crash.  Try the patch below.

				Jeff

===== arch/um/kernel/mem.c 1.21 vs edited =====
--- 1.21/arch/um/kernel/mem.c   Thu Jan  8 07:43:01 2004
+++ edited/arch/um/kernel/mem.c Mon Jan 26 11:02:13 2004
@@ -30,7 +30,6 @@
 int kmalloc_ok = 0;
 
 static unsigned long brk_end;
-static unsigned long totalram_pages = 0;
 
 void unmap_physmem(void)
 {



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [uml-devel] [patch] uml fixes, 2.6.1-mm5-A2
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: nsb034; +Cc: user-mode-linux-devel
In-Reply-To: <20040123061842.GA5292@localhost>

nsb034@lostrealm.com said:
> This fixes the bug "skas mode panic - ltrace strace" that occurs in
> uml-patch-2.4.23-2 and below.  Could this patch please be applied to
> the 2.4.x kernels as well? 

I did, and it will be in the next patch.

				Jeff



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [uml-devel] Mapping con=pts to a port instead of con=port
From: Jeff Dike @ 2004-01-28  4:39 UTC (permalink / raw)
  To: Dan Shearer; +Cc: user-mode-linux-devel
In-Reply-To: <20040124050440.GF4203@erizo.shearer.org>

dan@shearer.org said:
> The same effect can be achieved with termnetd, with the advantage of
> your in.telnetd solution that you aren't building in complexity that
> doesn't belong to UML, but without the clomp-clomp finesse telnetd
> achieves :-) 

Yeah, but it has uncleanlinesses of its own (like the need to generate a config
file on the fly), but it's cleaner than what I have now.

My major problem with it is that attaching consoles to ports will stop working
for some number of users if I switch to termnetd, and I'm willing to put up
with some amount of nastiness inside UML if it increases the size of the 
userbase that UML works for out of the box.

That concern would be somewhat assuaged if UML were generally installed with
packages that could be made to depend on termpkg, but I think that's not the
case.

				Jeff



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* IP address of the interface
From: suresh k @ 2004-01-28  4:04 UTC (permalink / raw)
  To: netfilter

Hi,
I want to get the IP address of the interface in the kernel. I have seen the mail list 
archives discussing this. I want to implement the code as a loadable module. I don't 
think the suggested in the archives work, as those functions are not exported. Is there 
any other way to handle this. Kindly help me out.
regards
Suresh


^ permalink raw reply

* [ALSA - driver 0000007]: alsa-kernel/pci does NOT contain bt87x driver
From: noreply @ 2004-01-28  4:01 UTC (permalink / raw)
  To: alsa-devel


The following NEW bug has been ADDED.
======================================================================
http://bugtrack.alsa-project.org/alsa-bug/bug_view_page.php?bug_id=0000007
======================================================================
Reporter:                   yahoo
Handler:                    
======================================================================
Project:                    ALSA - driver
Bug ID:                     7
Category:                   OTHERS
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Distribution:               
Kernel Version:             
======================================================================
Date Submitted:             01-28-2004 05:01 CET
Last Modified:              01-28-2004 05:01 CET
======================================================================
Summary:                    alsa-kernel/pci does NOT contain bt87x driver
Description: 
alsa-kernel/pci does NOT contain bt87x driver it is however 
present in alsa-driver/pci.
======================================================================

Bug History
Date Modified  Username       Field                    Change              
======================================================================
01-28-04 05:01 yahoo          New Bug                                      
======================================================================


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

^ permalink raw reply

* Passing packet to IP layer
From: suresh k @ 2004-01-28  4:00 UTC (permalink / raw)
  To: netfilter

Hi,
I am capturing packets using netfilters. I am modifying the packets and I want to give 
it "up the linux IP stack" in the kernel. The implementation has to been done as a 
loadable module. I have a problem here, I don't find any kernel exported symbol which 
can be used to send the modified stack up the stack and give it to the IP module. Kindly 
tell me if there is any way to do that. I thought abt compiling the code which I have 
written along with the kernel and use the kernel functions directly, but it is not 
portable. Kindly tell me how to proceed. 
cheers
Suresh


^ permalink raw reply

* Re: RFC: Trailing blanks in source files
From: Randy.Dunlap @ 2004-01-28  3:55 UTC (permalink / raw)
  To: jw schultz; +Cc: linux-kernel
In-Reply-To: <20040128034939.GE15979@pegasys.ws>

On Tue, 27 Jan 2004 19:49:39 -0800 jw schultz <jw@pegasys.ws> wrote:

| On Tue, Jan 27, 2004 at 04:02:14PM -0800, Andrew Morton wrote:
| > "Randy.Dunlap" <rddunlap@osdl.org> wrote:
| > >
| > > So please don't bother with just whitespace changes unless you
| > > are going to cleanup a <driver | fs | module | etc> completely.
| > 
| > And if you're going to do that, do the whitespace cleanup _first_, so the
| > substantive changes to the driver/fs/module/etc can be sanely understood
| > and reverted if necessary.
| > 
| > I frequently sneakily remove all newly-added trailing whitespace from the
| > patches people send me.  In 15 years it'll all be gone.
| 
| This would maybe warrant a bk option to remove trailing
| whitespace from modified lines.  Preferably with an
| notification that it is happening so if for some reason you
| do want trailing whitespace you could abort or override.
| 
| A patch filter that removed trailing whitespace from + lines
| could also be used.

AFAIK Andrew already uses a script to check for trailing spaces,
and I do also.  Yes, it could be modified to be a conversion filter,
but it doesn't happen frequently, and when it does, I want to let
the poster know about it, so I like to have the evidence handy.  :)

--
~Randy

^ permalink raw reply

* Re: devfs 199.17 not in 2.4 (was Re:2.4.22 devfs/zlib outstanding updates ...)
From: Frédéric L. W. Meunier @ 2004-01-28  3:52 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <Pine.LNX.4.58.0401280110530.949@pervalidus.dyndns.org>

On Wed, 28 Jan 2004, Frédéric L. W. Meunier wrote:

> Herbert Pötzl wrote on Sat, 12 Jul 2003 00:22:07 +0200
>
> > just wanted to remind/state that the final? v199.17 devfs
> > patch and the 1.1.4 zlib update are not in 2.4.22-pre5.
>
> About the devfs patch.
>
> Yes, I already reported it a long time ago -
> http://www.uwsg.iu.edu/hypermail/linux/kernel/0306.2/1655.html
> and have no idea why it hasn't been merged in 2.4, after all
> it's supposed to fix some things and there have been no changes
> since then in the kernel.
>
> http://marc.theaimsgroup.com/?l=linux-kernel&m=103474534430016&w=2
>
> Can someone clarify this ? I've been applying this patch since
> its release and it didn't broke anything.

And you can find a patch from Andrey Borzenkov at
http://www.cs.helsinki.fi/linux/linux-kernel/2003-18/1161.html
http://www.cs.helsinki.fi/linux/linux-kernel/2003-25/0100.html

Nobody bothered to review and submit it ?

-- 
http://www.pervalidus.net/contact.html

^ permalink raw reply

* Re: RFC: Trailing blanks in source files
From: jw schultz @ 2004-01-28  3:49 UTC (permalink / raw)
  To: linux-kernel
In-Reply-To: <20040127160214.69850c9c.akpm@osdl.org>

On Tue, Jan 27, 2004 at 04:02:14PM -0800, Andrew Morton wrote:
> "Randy.Dunlap" <rddunlap@osdl.org> wrote:
> >
> > So please don't bother with just whitespace changes unless you
> > are going to cleanup a <driver | fs | module | etc> completely.
> 
> And if you're going to do that, do the whitespace cleanup _first_, so the
> substantive changes to the driver/fs/module/etc can be sanely understood
> and reverted if necessary.
> 
> I frequently sneakily remove all newly-added trailing whitespace from the
> patches people send me.  In 15 years it'll all be gone.

This would maybe warrant a bk option to remove trailing
whitespace from modified lines.  Preferably with an
notification that it is happening so if for some reason you
do want trailing whitespace you could abort or override.

A patch filter that removed trailing whitespace from + lines
could also be used.

-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw@pegasys.ws

		Remember Cernan and Schmitt

^ permalink raw reply

* Notification of Removed Attachment - please read for details
From: SAS Postmaster 62 @ 2004-01-28  3:48 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	NotificationRecipient, postmaster62-LVvIjLR0h5w

Please read this notification carefully.  Almost certainly, you need *not* contact your Help Desk at this time.

An attachment was removed because it was of a type prohibited by our email policies. If a business need exists to transfer this file type by email, the sender/recipient within SAS should refer to http://sww.sas.com/helpdesk/pc/EmailAttachmentPolicy.htm.

This notification does not necessarily mean that a virus-infected attachment was removed. However, the type of file that was being emailed is one that is, unfortunately, commonly used to transfer viruses. It is our policy to restrict the free flow of this type of attachment via email in order to protect ourselves and our external customers from the damage that can be caused by viruses that are sometimes transported in these files.

++++++++++++++++++++++++++++++++++++++
Sender: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Recipient(s):  larry.isaacs-LVvIjLR0h5w@public.gmane.org
Received:  Tue Jan 27 22:48:43 2004
Subject of Message:  

Attachment file name: document.scr:HEADER 
Action on Attachment: STRIP

++++++++++++++++++++++++++++++++++++++



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn

^ permalink raw reply

* 64 bit bus access on a customed MPC8245 board
From: Shawn Jin @ 2004-01-28  3:47 UTC (permalink / raw)
  To: linux-mtd

[-- Attachment #1: Type: text/plain, Size: 1348 bytes --]

Hi,

I'm working on a customed MPC8245 board with flash
chip Am29LV320 and trying to enable MTD driver
support.

The configuration is 32 bit bus width in each chip
with 2 chips interleaved. So CONFIG_MTD_CFI_B8 and
CONFIG_MTD_CFI_I2 are defined.

MPC8245 requires the following memory mapping:
bank 0: 0xFF800000 - 0xFFFFFFFF
bank 1: 0xFF000000 - 0xFF7FFFFF

I noticed that FPU must be enabled for 64-bit
read/write from/to flash.

I use read64() and write64() functions in the
attachment, which are copied from sbc8240.c. However
no chip can be found. Any suggestions? Thank you very
much.

The message is shown below.

mpc8245:Probing 0x00800000 at 0xff800000
mpc8245_write64 adr 0xff800000 data 0x000000f0000000f0
mpc8245_write64 adr 0xff8002a8 data 0x0000009800000098
mpc8245_read64 ofs 0xff800080 result
0xffffffffffffffff
CFI: Found no mpc8245 Flash Bank #0 device at location
zero
mpc8245:Probing 0x00800000 at 0xff000000
mpc8245_write64 adr 0xff000000 data 0x000000f0000000f0
mpc8245_write64 adr 0xff0002a8 data 0x0000009800000098
mpc8245_read64 ofs 0xff000080 result
0xffffffffffffffff
CFI: Found no MPC8245 Flash Bank #1 device at location
zero
mpc8245:No suppported flash chips found!

-Shawn.

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

[-- Attachment #2: flash.c --]
[-- Type: application/octet-stream, Size: 1782 bytes --]

__u64 mpc8245_read64(struct map_info *map, unsigned long ofs)
{
	unsigned long flags, msr, saved_msr;
	volatile unsigned long *p;

	save_flags(flags);
	cli();

	/* turn off floating point unavailable exceptions */

	__asm__ __volatile__ (
		"mfmsr %0" 
		: "=r" (msr) :);

	saved_msr = msr;
	msr |= MSR_FP;
	msr &= ~(MSR_FE0 | MSR_FE1);

	__asm__ __volatile__ (
		"mtmsr %0\n"
		"isync\n"
		: : "r" (msr));

	/* read the data via a floating point register */

	ofs = map->map_priv_1 + ofs;
	p = (unsigned long *) &result64;

	__asm__ __volatile__ (
		"lfd  1,0(%1)\n"
		"stfd 1,0(%0)\n"
		: : "r" (p), "r" (ofs)
		);

	/* restore state */

	__asm__ __volatile__ (
		"mtmsr %0\n"
		"isync\n"
		: : "r" (saved_msr));

	restore_flags(flags);

	p = (unsigned long *) &result64;
	debugk("mpc8245_read64 ofs 0x%x result 0x%08x%08x\n", ofs, *p, *(p+1));

	return result64;
}

void mpc8245_write64(struct map_info *map, __u64 d, unsigned long adr)
{
	unsigned long long tmp;
	unsigned long flags, msr, saved_msr, *p;
	volatile long saved_fr[2];

	save_flags(flags);
	cli();

	/* turn off floating point unavailable exceptions */

	__asm__ __volatile__ (
		"mfmsr %0" 
		: "=r" (msr) :);

	saved_msr = msr;
	msr |= MSR_FP;
	msr &= ~(MSR_FE0 | MSR_FE1);

	__asm__ __volatile__ (
		"mtmsr %0\n"
		"isync\n"
		: : "r" (msr));


	/* write the data via a floating point register */

	tmp = d;
	p = (unsigned long *) &tmp;
	adr = map->map_priv_1 + adr;
	debugk("mpc8245_write64 adr 0x%x data 0x%08x%08x\n", adr, *p, *(p+1));

	__asm__ __volatile__ (
		"stfd 1,0(%2)\n"
		"lfd  1,0(%0)\n"
		"stfd 1,0(%1)\n"
		"lfd  1,0(%2)\n"
		: : "r" (p), "r" (adr), "b" (saved_fr)
		);

	/* restore state */

	__asm__ __volatile__ (
		"mtmsr %0\n"
		"isync\n"
		: : "r" (saved_msr));

	restore_flags(flags);
}

^ permalink raw reply

* Re: 2.6.2-rc2-bk1 oopses on boot (ACPI patch)
From: Alessandro Suardi @ 2004-01-28  3:40 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, linux-acpi, Andrew Morton, Dominik Brodowski,
	Dave Jones
In-Reply-To: <Pine.LNX.4.58.0401271859140.10794@home.osdl.org>

Linus Torvalds wrote:
> 
> On Wed, 28 Jan 2004, Alessandro Suardi wrote:
> 
>>Already reported, but I'll do so once again, since it looks like
>>  in a short while I won't be able to boot official kernels in my
>>  current config...
>>
>>	http://www.ussg.iu.edu/hypermail/linux/kernel/0312.3/0442.html
> 
> 
> Can you make adjust_jiffies() print out its arguments (it's in 
> drivers/cpufreq/cpufreq.c).
> 
> It looks like cpufreq_scale() gets a divide-by-zero or an overflow on one 
> of
> 
> 	l_p_j_ref, l_p_j_ref_freq, ci->new
> 
> and just printing out those values would be interesting.

Assuming the late hour (hmm, early by now) hasn't crossed my
  eyes entirely the three above entities are %lu, %u, %u... so
  this line

printk("CPUFREQ DEBUG: [%lu] [%u] [%u]\n", l_p_j_ref, l_p_j_ref_freq, ci->new);

  as both first and last instruction in adjust_jiffies() turns
  up the same values, which are 1773568, 1, 0.


Side-note, since master penguin is looking... after the oops
  all SysRq stuff keeps working - except Alt-SysRq-B; the atkbd.c
  code tells me the keyboard says "too many keys pressed". K, T,
  P just do their job fine.
(yeah, okay, Alt-SysRq-O prints Power Off but obviously doesn't).


Thanks,

--alessandro

  "Two rivers run too deep
   The seasons change and so do I"
       (U2, "Indian Summer Sky")


^ permalink raw reply

* linux_2_4 and Malta
From: Nathan Field @ 2004-01-28  3:45 UTC (permalink / raw)
  To: linux-mips

[-- Attachment #1: Type: TEXT/PLAIN, Size: 788 bytes --]

I'm having problems getting the linux_2_4 branch of the kernel to output 
serial on my Malta board. The HEAD branch (2.6) seems to work fine, but 
I'd prefer to avoid that if possible. Is anyone else having this problem? 
I've attached my .config just in case I'm doing something stupid. I got 
the 2.4.17 kernel to work fine.

The prom_print stuff outputs to the serial port fine, but printk's never 
get out. Looking at the kernel under a debugger it also seems that the 
kernel is crashing randomly and ending up in an infinite loop branching to 
self.

	nathan

-- 
Nathan Field (ndf@ghs.com)

But the trouble with analogies is that analogies are like goldfish:
sometimes they have nothing to do with the topic at hand.
        -- Crispin (from a posting to the Bugtraq mailing list)

[-- Attachment #2: Type: TEXT/PLAIN, Size: 16290 bytes --]

#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_MIPS=y
CONFIG_MIPS32=y
# CONFIG_MIPS64 is not set

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KMOD=y

#
# Machine selection
#
# CONFIG_ACER_PICA_61 is not set
# CONFIG_MIPS_BOSPORUS is not set
# CONFIG_MIPS_MIRAGE is not set
# CONFIG_MIPS_DB1000 is not set
# CONFIG_MIPS_DB1100 is not set
# CONFIG_MIPS_DB1500 is not set
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_MIPS_PB1500 is not set
# CONFIG_MIPS_HYDROGEN3 is not set
# CONFIG_MIPS_PB1550 is not set
# CONFIG_MIPS_XXS1500 is not set
# CONFIG_MIPS_MTX1 is not set
# CONFIG_COGENT_CSB250 is not set
# CONFIG_BAGET_MIPS is not set
# CONFIG_CASIO_E55 is not set
# CONFIG_MIPS_COBALT is not set
# CONFIG_DECSTATION is not set
# CONFIG_MIPS_EV64120 is not set
# CONFIG_MIPS_EV96100 is not set
# CONFIG_MIPS_IVR is not set
# CONFIG_HP_LASERJET is not set
# CONFIG_IBM_WORKPAD is not set
# CONFIG_LASAT is not set
# CONFIG_MIPS_ITE8172 is not set
# CONFIG_MIPS_ATLAS is not set
# CONFIG_MIPS_MAGNUM_4000 is not set
CONFIG_MIPS_MALTA=y
# CONFIG_MIPS_SEAD is not set
# CONFIG_MOMENCO_OCELOT is not set
# CONFIG_MOMENCO_OCELOT_G is not set
# CONFIG_MOMENCO_OCELOT_C is not set
# CONFIG_MOMENCO_JAGUAR_ATX is not set
# CONFIG_PMC_YOSEMITE is not set
# CONFIG_DDB5074 is not set
# CONFIG_DDB5476 is not set
# CONFIG_DDB5477 is not set
# CONFIG_NEC_OSPREY is not set
# CONFIG_NEC_EAGLE is not set
# CONFIG_OLIVETTI_M700 is not set
# CONFIG_NINO is not set
# CONFIG_SGI_IP22 is not set
# CONFIG_SGI_IP27 is not set
# CONFIG_SIBYTE_SB1xxx_SOC is not set
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TANBAC_TB0226 is not set
# CONFIG_TANBAC_TB0229 is not set
# CONFIG_TOSHIBA_JMR3927 is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
# CONFIG_VICTOR_MPC30X is not set
# CONFIG_ZAO_CAPCELLA is not set
# CONFIG_HIGHMEM is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
CONFIG_BOOT_ELF32=y
CONFIG_HAVE_STD_PC_SERIAL_PORT=y
CONFIG_I8259=y
CONFIG_MIPS_BONITO64=y
CONFIG_MIPS_GT64120=y
CONFIG_MIPS_MSC=y
CONFIG_L1_CACHE_SHIFT=5
CONFIG_NEW_TIME_C=y
CONFIG_NONCOHERENT_IO=y
CONFIG_SWAP_IO_SPACE_W=y
CONFIG_SWAP_IO_SPACE_L=y
CONFIG_PC_KEYB=y
CONFIG_PCI=y
# CONFIG_MIPS_AU1000 is not set

#
# CPU selection
#
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS64 is not set
# CONFIG_CPU_R3000 is not set
# CONFIG_CPU_TX39XX is not set
# CONFIG_CPU_VR41XX is not set
# CONFIG_CPU_R4300 is not set
# CONFIG_CPU_R4X00 is not set
# CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_R5000 is not set
# CONFIG_CPU_R5432 is not set
# CONFIG_CPU_R6000 is not set
# CONFIG_CPU_NEVADA is not set
# CONFIG_CPU_R8000 is not set
# CONFIG_CPU_R10000 is not set
# CONFIG_CPU_RM7000 is not set
# CONFIG_CPU_RM9000 is not set
# CONFIG_CPU_SB1 is not set
CONFIG_PAGE_SIZE_4KB=y
# CONFIG_PAGE_SIZE_16KB is not set
# CONFIG_PAGE_SIZE_64KB is not set
CONFIG_CPU_HAS_PREFETCH=y
# CONFIG_VTAG_ICACHE is not set
# CONFIG_64BIT_PHYS_ADDR is not set
# CONFIG_CPU_ADVANCED is not set
CONFIG_CPU_HAS_LLSC=y
# CONFIG_CPU_HAS_LLDSCD is not set
# CONFIG_CPU_HAS_WB is not set
CONFIG_CPU_HAS_SYNC=y

#
# General setup
#
# CONFIG_CPU_LITTLE_ENDIAN is not set
# CONFIG_BINFMT_IRIX is not set
CONFIG_NET=y
# CONFIG_PCI_NAMES is not set
# CONFIG_ISA is not set
# CONFIG_TC is not set
# CONFIG_MCA is not set
# CONFIG_SBUS is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
# CONFIG_HOTPLUG_PCI is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_MIPS32_COMPAT is not set
# CONFIG_MIPS32_O32 is not set
# CONFIG_MIPS32_N32 is not set
# CONFIG_BINFMT_ELF32 is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_OOM_KILLER is not set

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play configuration
#
# CONFIG_PNP is not set
# CONFIG_ISAPNP is not set

#
# Block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_CISS_MONITOR_THREAD is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_BLK_STATS is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set

#
# Networking options
#
# CONFIG_PACKET is not set
CONFIG_NETLINK_DEV=y
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set

#
#    SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set

#
# Appletalk devices
#
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
# CONFIG_PHONE_IXJ_PCMCIA is not set

#
# ATA/IDE/MFM/RLL support
#
# CONFIG_IDE is not set
# CONFIG_BLK_DEV_IDE_MODES is not set
# CONFIG_BLK_DEV_HD is not set

#
# SCSI support
#
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_SCSI_DEBUG_QUEUES is not set
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_MEGARAID2 is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set

#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_APRICOT is not set
# CONFIG_B44 is not set
# CONFIG_CS89x0 is not set
# CONFIG_TULIP is not set
# CONFIG_DE4X5 is not set
# CONFIG_DGRS is not set
# CONFIG_DM9102 is not set
# CONFIG_EEPRO100 is not set
# CONFIG_EEPRO100_PIO is not set
# CONFIG_E100 is not set
# CONFIG_LNE390 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_SUNDANCE_MMIO is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_LAN_SAA9730 is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set

#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set

#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Input core support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_UINPUT is not set

#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256

#
# I2C support
#
# CONFIG_I2C is not set

#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_MOUSE is not set

#
# Joysticks
#
# CONFIG_INPUT_GAMEPORT is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_IPMI_PANIC_EVENT is not set
# CONFIG_IPMI_DEVICE_INTERFACE is not set
# CONFIG_IPMI_KCS is not set
# CONFIG_IPMI_WATCHDOG is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_SCx200 is not set
# CONFIG_SCx200_GPIO is not set
# CONFIG_AMD_PM768 is not set
# CONFIG_NVRAM is not set
CONFIG_RTC=y
# CONFIG_MIPS_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set

#
# Direct Rendering Manager (XFree86 DRI support)
#
# CONFIG_DRM is not set

#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_QFMT_V2 is not set
CONFIG_AUTOFS_FS=y
# CONFIG_AUTOFS4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_TMPFS is not set
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_XFS_FS is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_TRACE is not set
# CONFIG_XFS_DEBUG is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_DIRECTIO is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
# CONFIG_NLS is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# USB support
#
# CONFIG_USB is not set

#
# Support for USB gadgets
#
# CONFIG_USB_GADGET is not set

#
# Bluetooth support
#
# CONFIG_BLUEZ is not set

#
# Kernel hacking
#
CONFIG_CROSSCOMPILE=y
# CONFIG_RUNTIME_DEBUG is not set
# CONFIG_KGDB is not set
# CONFIG_GDB_CONSOLE is not set
CONFIG_DEBUG_INFO=y
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_MIPS_UNCACHED is not set
CONFIG_LOG_BUF_SHIFT=0

#
# Cryptographic options
#
# CONFIG_CRYPTO is not set

#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_ZLIB_INFLATE is not set
# CONFIG_ZLIB_DEFLATE is not set

^ permalink raw reply

* Re: [2.0.40-rc8] Works well
From: David Weinehall @ 2004-01-28  3:37 UTC (permalink / raw)
  To: Coywolf Qi Hunt; +Cc: Markus Hästbacka, Kernel Mailinglist
In-Reply-To: <40172C5E.3090201@lovecn.org>

On Wed, Jan 28, 2004 at 03:28:30AM +0000, Coywolf Qi Hunt wrote:
> Markus Hästbacka wrote:
> 
> >Hey David,
> >I just mail to tell you that 2.0.40-rc8 seems to work really well, no
> >problems compiling (except a few warnings :) and absolutely no problem
> >running. Great work!
> >
> >	Markus
> > 
> >
> Hello all 2.0 hackers,

There aren't a lot, I suspect you can count us using one hand
nowadays...

> Recently I just have such an idea that is to port the 2.0.39 to let it 
> be compiled with my gcc 2.95.4 or any
> other latest gcc. At the same time,  also make it remain compliant to 
> gcc 2.7.2.1. ( I can't find 2.7.2.1, only 2.7.2.3
> on the ftp)  Is this work worth while?

Well, for sure it's quite a demanding task, since, if I remember
correctly, the module-code uses some nasty internal gcc-knowledge to
generate code, that simply doesn't work with later versions of gcc.
It might be that I remember this incorrectly though.

It would be interesting, yes, but only if it can be proved to some
degree that no new bugs are introduced.

My aim for 2.0.41 is to make it a cleanup-release; remove warnings, tidy
up a little source-code mess, kill dead code, fix typos etc.


Regards: David Weinehall
-- 
 /) David Weinehall <tao@acc.umu.se> /) Northern lights wander      (\
//  Maintainer of the v2.0 kernel   //  Dance across the winter sky //
\)  http://www.acc.umu.se/~tao/    (/   Full colour fire           (/

^ permalink raw reply

* [BK] Updated 2.6 typhoon driver for 3CR990 & 3CR990B cards
From: David Dillow @ 2004-01-28  3:31 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Netdev

[ Resend, seems my mailer had issues. ]
[ I've not sent patches to the list, as the firmware update is too big. ]

Jeff, please do a

	bk pull http://typhoon.bkbits.net/typhoon-2.5

This will update the following files:

 drivers/net/typhoon-firmware.h | 6890 +++++++++++++++++++++--------------------
 drivers/net/typhoon.c          |   20 
 drivers/net/typhoon.h          |    6 
 3 files changed, 3563 insertions(+), 3353 deletions(-)

through these ChangeSets:

<dave@thedillows.org> (03/12/15 1.1488)
   Support the new 3CR990B cards that require authentication of the runtime
   firmware image.


And the non-firmware part is:

diff -Nru a/drivers/net/typhoon.c b/drivers/net/typhoon.c
--- a/drivers/net/typhoon.c	Mon Jan 26 22:58:36 2004
+++ b/drivers/net/typhoon.c	Mon Jan 26 22:58:36 2004
@@ -85,8 +85,8 @@
 #define PKT_BUF_SZ		1536
 
 #define DRV_MODULE_NAME		"typhoon"
-#define DRV_MODULE_VERSION 	"1.5.2"
-#define DRV_MODULE_RELDATE	"03/11/25"
+#define DRV_MODULE_VERSION 	"1.5.3"
+#define DRV_MODULE_RELDATE	"03/12/15"
 #define PFX			DRV_MODULE_NAME ": "
 #define ERR_PFX			KERN_ERR PFX
 
@@ -157,6 +157,7 @@
 	TYPHOON_TX = 0, TYPHOON_TX95, TYPHOON_TX97, TYPHOON_SVR,
 	TYPHOON_SVR95, TYPHOON_SVR97, TYPHOON_TXM, TYPHOON_BSVR,
 	TYPHOON_FX95, TYPHOON_FX97, TYPHOON_FX95SVR, TYPHOON_FX97SVR,
+	TYPHOON_FXM,
 };
 
 /* directly indexed by enum typhoon_cards, above */
@@ -185,6 +186,8 @@
 	 	TYPHOON_CRYPTO_DES | TYPHOON_FIBER},
 	{ "3Com Typhoon (3CR990-FX-97 Server)",
 	 	TYPHOON_CRYPTO_DES | TYPHOON_CRYPTO_3DES | TYPHOON_FIBER},
+	{ "3Com Typhoon2 (3C990B-FX-97)",
+		TYPHOON_CRYPTO_VARIABLE | TYPHOON_FIBER},
 };
 
 /* Notes on the new subsystem numbering scheme:
@@ -203,6 +206,8 @@
 	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,
 	  PCI_ANY_ID, 0x1000, 0, 0, TYPHOON_TXM },
 	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,
+	  PCI_ANY_ID, 0x1102, 0, 0, TYPHOON_FXM },
+	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990B,
 	  PCI_ANY_ID, 0x2000, 0, 0, TYPHOON_BSVR },
 	{ PCI_VENDOR_ID_3COM, PCI_DEVICE_ID_3COM_3CR990_FX,
 	  PCI_ANY_ID, 0x1101, 0, 0, TYPHOON_FX95 },
@@ -1363,6 +1368,7 @@
 	u32 section_len;
 	u32 len;
 	u32 load_addr;
+	u32 hmac;
 	int i;
 	int err;
 
@@ -1406,6 +1412,16 @@
 
 	writel(TYPHOON_INTR_BOOTCMD, ioaddr + TYPHOON_REG_INTR_STATUS);
 	writel(load_addr, ioaddr + TYPHOON_REG_DOWNLOAD_BOOT_ADDR);
+	hmac = le32_to_cpu(fHdr->hmacDigest[0]);
+	writel(hmac, ioaddr + TYPHOON_REG_DOWNLOAD_HMAC_0);
+	hmac = le32_to_cpu(fHdr->hmacDigest[1]);
+	writel(hmac, ioaddr + TYPHOON_REG_DOWNLOAD_HMAC_1);
+	hmac = le32_to_cpu(fHdr->hmacDigest[2]);
+	writel(hmac, ioaddr + TYPHOON_REG_DOWNLOAD_HMAC_2);
+	hmac = le32_to_cpu(fHdr->hmacDigest[3]);
+	writel(hmac, ioaddr + TYPHOON_REG_DOWNLOAD_HMAC_3);
+	hmac = le32_to_cpu(fHdr->hmacDigest[4]);
+	writel(hmac, ioaddr + TYPHOON_REG_DOWNLOAD_HMAC_4);
 	typhoon_post_pci_writes(ioaddr);
 	writel(TYPHOON_BOOTCMD_RUNTIME_IMAGE, ioaddr + TYPHOON_REG_COMMAND);
 
diff -Nru a/drivers/net/typhoon.h b/drivers/net/typhoon.h
--- a/drivers/net/typhoon.h	Mon Jan 26 22:58:36 2004
+++ b/drivers/net/typhoon.h	Mon Jan 26 22:58:36 2004
@@ -512,6 +512,7 @@
 	u32 version;
 	u32 numSections;
 	u32 startAddr;
+	u32 hmacDigest[5];
 } __attribute__ ((packed));
 
 struct typhoon_section_header {
@@ -548,6 +549,11 @@
 #define TYPHOON_REG_BOOT_LENGTH			TYPHOON_REG_HOST2ARM1
 
 #define TYPHOON_REG_DOWNLOAD_BOOT_ADDR		TYPHOON_REG_HOST2ARM1
+#define TYPHOON_REG_DOWNLOAD_HMAC_0		TYPHOON_REG_HOST2ARM2
+#define TYPHOON_REG_DOWNLOAD_HMAC_1		TYPHOON_REG_HOST2ARM3
+#define TYPHOON_REG_DOWNLOAD_HMAC_2		TYPHOON_REG_HOST2ARM4
+#define TYPHOON_REG_DOWNLOAD_HMAC_3		TYPHOON_REG_HOST2ARM5
+#define TYPHOON_REG_DOWNLOAD_HMAC_4		TYPHOON_REG_HOST2ARM6
 
 #define TYPHOON_REG_BOOT_RECORD_ADDR_HI		TYPHOON_REG_HOST2ARM2
 #define TYPHOON_REG_BOOT_RECORD_ADDR_LO		TYPHOON_REG_HOST2ARM1

^ permalink raw reply

* PATCH: uid16 cleanup for 64 bit architectures
From: Tim Hockin @ 2004-01-28  3:30 UTC (permalink / raw)
  To: Linux Kernel mailing list; +Cc: akpm, torvalds

[-- Attachment #1: Type: text/plain, Size: 998 bytes --]

The NGROUPS patch exposed me to a lot of duplicated code in some of the 64
bit architectures (stemming from CONFIG_UID16).

So a few months back, I worked up a solution.  It seems that things have
changed some.  Architectures that used to not define CONFIG_UID16 (sparc64,
s390, x86_64) now do.  But they don't take advantage of the uid16.c code.

This (totally experimental, untestable by me) patch removes the offending
code.  In short:

* pry apart highuid.h and uid16.c
* build uid16.o iff CONFIG_UID16_SYSCALLS
* anywhere that defines CONFIG_UID16 adds CONFIG_UID16_SYSCALLS
* add CONFIG_UID16_SYSCALLS for any arch that wants to use uid16.c without
  converting everywhere else highuid.h is used
* strip out lots of code that was copied from uid16.c

This may all be totally worthless.  That's up to the arch people to decide,
I guess.  I just said I would look into the mess. :)

-- 
Tim Hockin
Sun Microsystems, Linux Software Engineering
thockin@sun.com
All opinions are my own, not Sun's

[-- Attachment #2: uid16-2.6.2rc2-1.diff --]
[-- Type: text/plain, Size: 36562 bytes --]

diff -ruN ngroups-2.6/arch/arm/Kconfig uid16-2.6/arch/arm/Kconfig
--- ngroups-2.6/arch/arm/Kconfig	2003-12-19 14:29:51.000000000 -0800
+++ uid16-2.6/arch/arm/Kconfig	2004-01-27 15:38:53.000000000 -0800
@@ -50,6 +50,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/arm26/Kconfig uid16-2.6/arch/arm26/Kconfig
--- ngroups-2.6/arch/arm26/Kconfig	2003-12-19 14:29:54.000000000 -0800
+++ uid16-2.6/arch/arm26/Kconfig	2004-01-27 15:39:00.000000000 -0800
@@ -38,6 +38,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/cris/Kconfig uid16-2.6/arch/cris/Kconfig
--- ngroups-2.6/arch/cris/Kconfig	2003-12-19 14:29:54.000000000 -0800
+++ uid16-2.6/arch/cris/Kconfig	2004-01-27 15:39:07.000000000 -0800
@@ -13,6 +13,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/h8300/Kconfig uid16-2.6/arch/h8300/Kconfig
--- ngroups-2.6/arch/h8300/Kconfig	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/h8300/Kconfig	2004-01-27 15:39:14.000000000 -0800
@@ -25,6 +25,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/i386/Kconfig uid16-2.6/arch/i386/Kconfig
--- ngroups-2.6/arch/i386/Kconfig	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/i386/Kconfig	2004-01-27 15:35:35.000000000 -0800
@@ -25,6 +25,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config GENERIC_ISA_DMA
 	bool
 	default y
diff -ruN ngroups-2.6/arch/ia64/ia32/ia32_entry.S uid16-2.6/arch/ia64/ia32/ia32_entry.S
--- ngroups-2.6/arch/ia64/ia32/ia32_entry.S	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/ia64/ia32/ia32_entry.S	2004-01-27 17:03:18.000000000 -0800
@@ -288,8 +288,8 @@
 	data8 compat_sys_getrusage
 	data8 sys32_gettimeofday
 	data8 sys32_settimeofday
-	data8 sys32_getgroups16	  /* 80 */
-	data8 sys32_setgroups16
+	data8 sys_getgroups16	  /* 80 */
+	data8 sys_setgroups16
 	data8 sys32_old_select
 	data8 sys_symlink
 	data8 sys_ni_syscall
diff -ruN ngroups-2.6/arch/ia64/ia32/sys_ia32.c uid16-2.6/arch/ia64/ia32/sys_ia32.c
--- ngroups-2.6/arch/ia64/ia32/sys_ia32.c	2004-01-27 12:40:02.000000000 -0800
+++ uid16-2.6/arch/ia64/ia32/sys_ia32.c	2004-01-27 17:01:57.000000000 -0800
@@ -2413,87 +2413,6 @@
 	return sys_lseek(fd, offset, whence);
 }
 
-static int
-groups16_to_user(short *grouplist, struct group_info *info)
-{
-	int i;
-	short group;
-
-	if (info->ngroups > TASK_SIZE/sizeof(group))
-		return -EFAULT;
-	if (!access_ok(VERIFY_WRITE, grouplist, info->ngroups * sizeof(group)))
-		return -EFAULT;
-
-	for (i = 0; i < info->ngroups; i++) {
-		group = (short)GROUP_AT(info, i);
-		if (__put_user(group, grouplist+i))
-			return -EFAULT;
-	}
-
-	return 0;
-}
-
-static int
-groups16_from_user(struct group_info *info, short *grouplist)
-{
-	int i;
-	short group;
-
-	if (info->ngroups > TASK_SIZE/sizeof(group))
-		return -EFAULT;
-	if (!access_ok(VERIFY_READ, grouplist, info->ngroups * sizeof(group)))
-		return -EFAULT;
-
-	for (i = 0; i < info->ngroups; i++) {
-		if (__get_user(group, grouplist+i))
-			return  -EFAULT;
-		GROUP_AT(info, i) = (gid_t)group;
-	}
-
-	return 0;
-}
-
-asmlinkage long
-sys32_getgroups16 (int gidsetsize, short *grouplist)
-{
-	int i;
-
-	if (gidsetsize < 0)
-		return -EINVAL;
-	i = current->group_info->ngroups;
-	if (gidsetsize) {
-		if (i > gidsetsize)
-			return -EINVAL;
-		if (groups16_to_user(grouplist, current->group_info))
-			return -EFAULT;
-	}
-	return i;
-}
-
-asmlinkage long
-sys32_setgroups16 (int gidsetsize, short *grouplist)
-{
-	struct group_info *new_info;
-	int retval;
-
-	if (!capable(CAP_SETGID))
-		return -EPERM;
-	new_info = groups_alloc(gidsetsize);
-	if (!new_info)
-		return -ENOMEM;
-	retval = groups16_from_user(new_info, grouplist);
-	if (retval) {
-		groups_free(new_info);
-		return retval;
-	}
-
-	retval = set_current_groups(new_info);
-	if (retval)
-		groups_free(new_info);
-
-	return retval;
-}
-
 asmlinkage long
 sys32_truncate64 (unsigned int path, unsigned int len_lo, unsigned int len_hi)
 {
diff -ruN ngroups-2.6/arch/ia64/Kconfig uid16-2.6/arch/ia64/Kconfig
--- ngroups-2.6/arch/ia64/Kconfig	2004-01-27 12:38:53.000000000 -0800
+++ uid16-2.6/arch/ia64/Kconfig	2004-01-27 16:32:17.000000000 -0800
@@ -385,6 +385,11 @@
 	depends on IA32_SUPPORT
 	default y
 
+config UID16_SYSCALLS
+	bool
+	depends on IA32_SUPPORT
+	default y
+
 config PERFMON
 	bool "Performance monitor support"
 	help
diff -ruN ngroups-2.6/arch/m68k/Kconfig uid16-2.6/arch/m68k/Kconfig
--- ngroups-2.6/arch/m68k/Kconfig	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/m68k/Kconfig	2004-01-27 15:39:28.000000000 -0800
@@ -14,6 +14,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/m68knommu/Kconfig uid16-2.6/arch/m68knommu/Kconfig
--- ngroups-2.6/arch/m68knommu/Kconfig	2003-12-19 14:29:57.000000000 -0800
+++ uid16-2.6/arch/m68knommu/Kconfig	2004-01-27 15:39:32.000000000 -0800
@@ -17,6 +17,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/s390/Kconfig uid16-2.6/arch/s390/Kconfig
--- ngroups-2.6/arch/s390/Kconfig	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/s390/Kconfig	2004-01-27 17:38:55.000000000 -0800
@@ -28,6 +28,11 @@
 	default y
 	depends on ARCH_S390X = 'n'
 
+config UID16_SYSCALLS
+	bool
+	default y
+	depends on ARCH_S390X = 'n'
+
 source "init/Kconfig"
 
 menu "Base setup"
diff -ruN ngroups-2.6/arch/s390/kernel/compat_linux.c uid16-2.6/arch/s390/kernel/compat_linux.c
--- ngroups-2.6/arch/s390/kernel/compat_linux.c	2004-01-27 12:40:02.000000000 -0800
+++ uid16-2.6/arch/s390/kernel/compat_linux.c	2004-01-27 17:42:18.000000000 -0800
@@ -71,221 +71,17 @@
 
 #include "compat_linux.h"
 
-extern asmlinkage long sys_chown(const char *, uid_t,gid_t);
-extern asmlinkage long sys_lchown(const char *, uid_t,gid_t);
-extern asmlinkage long sys_fchown(unsigned int, uid_t,gid_t);
-extern asmlinkage long sys_setregid(gid_t, gid_t);
-extern asmlinkage long sys_setgid(gid_t);
-extern asmlinkage long sys_setreuid(uid_t, uid_t);
-extern asmlinkage long sys_setuid(uid_t);
-extern asmlinkage long sys_setresuid(uid_t, uid_t, uid_t);
-extern asmlinkage long sys_setresgid(gid_t, gid_t, gid_t);
-extern asmlinkage long sys_setfsuid(uid_t);
-extern asmlinkage long sys_setfsgid(gid_t);
- 
 /* For this source file, we want overflow handling. */
 
 #undef high2lowuid
 #undef high2lowgid
 #undef low2highuid
 #undef low2highgid
-#undef SET_UID16
-#undef SET_GID16
-#undef NEW_TO_OLD_UID
-#undef NEW_TO_OLD_GID
-#undef SET_OLDSTAT_UID
-#undef SET_OLDSTAT_GID
-#undef SET_STAT_UID
-#undef SET_STAT_GID
 
 #define high2lowuid(uid) ((uid) > 65535) ? (u16)overflowuid : (u16)(uid)
 #define high2lowgid(gid) ((gid) > 65535) ? (u16)overflowgid : (u16)(gid)
 #define low2highuid(uid) ((uid) == (u16)-1) ? (uid_t)-1 : (uid_t)(uid)
 #define low2highgid(gid) ((gid) == (u16)-1) ? (gid_t)-1 : (gid_t)(gid)
-#define SET_UID16(var, uid)	var = high2lowuid(uid)
-#define SET_GID16(var, gid)	var = high2lowgid(gid)
-#define NEW_TO_OLD_UID(uid)	high2lowuid(uid)
-#define NEW_TO_OLD_GID(gid)	high2lowgid(gid)
-#define SET_OLDSTAT_UID(stat, uid)	(stat).st_uid = high2lowuid(uid)
-#define SET_OLDSTAT_GID(stat, gid)	(stat).st_gid = high2lowgid(gid)
-#define SET_STAT_UID(stat, uid)		(stat).st_uid = high2lowuid(uid)
-#define SET_STAT_GID(stat, gid)		(stat).st_gid = high2lowgid(gid)
-
-asmlinkage long sys32_chown16(const char * filename, u16 user, u16 group)
-{
-	return sys_chown(filename, low2highuid(user), low2highgid(group));
-}
-
-asmlinkage long sys32_lchown16(const char * filename, u16 user, u16 group)
-{
-	return sys_lchown(filename, low2highuid(user), low2highgid(group));
-}
-
-asmlinkage long sys32_fchown16(unsigned int fd, u16 user, u16 group)
-{
-	return sys_fchown(fd, low2highuid(user), low2highgid(group));
-}
-
-asmlinkage long sys32_setregid16(u16 rgid, u16 egid)
-{
-	return sys_setregid(low2highgid(rgid), low2highgid(egid));
-}
-
-asmlinkage long sys32_setgid16(u16 gid)
-{
-	return sys_setgid((gid_t)gid);
-}
-
-asmlinkage long sys32_setreuid16(u16 ruid, u16 euid)
-{
-	return sys_setreuid(low2highuid(ruid), low2highuid(euid));
-}
-
-asmlinkage long sys32_setuid16(u16 uid)
-{
-	return sys_setuid((uid_t)uid);
-}
-
-asmlinkage long sys32_setresuid16(u16 ruid, u16 euid, u16 suid)
-{
-	return sys_setresuid(low2highuid(ruid), low2highuid(euid),
-		low2highuid(suid));
-}
-
-asmlinkage long sys32_getresuid16(u16 *ruid, u16 *euid, u16 *suid)
-{
-	int retval;
-
-	if (!(retval = put_user(high2lowuid(current->uid), ruid)) &&
-	    !(retval = put_user(high2lowuid(current->euid), euid)))
-		retval = put_user(high2lowuid(current->suid), suid);
-
-	return retval;
-}
-
-asmlinkage long sys32_setresgid16(u16 rgid, u16 egid, u16 sgid)
-{
-	return sys_setresgid(low2highgid(rgid), low2highgid(egid),
-		low2highgid(sgid));
-}
-
-asmlinkage long sys32_getresgid16(u16 *rgid, u16 *egid, u16 *sgid)
-{
-	int retval;
-
-	if (!(retval = put_user(high2lowgid(current->gid), rgid)) &&
-	    !(retval = put_user(high2lowgid(current->egid), egid)))
-		retval = put_user(high2lowgid(current->sgid), sgid);
-
-	return retval;
-}
-
-asmlinkage long sys32_setfsuid16(u16 uid)
-{
-	return sys_setfsuid((uid_t)uid);
-}
-
-asmlinkage long sys32_setfsgid16(u16 gid)
-{
-	return sys_setfsgid((gid_t)gid);
-}
-
-static int groups16_to_user(u16 *grouplist, struct group_info *info)
-{
-	int i;
-	u16 group;
-
-	if (info->ngroups > TASK_SIZE/sizeof(group))
-		return -EFAULT;
-	if (!access_ok(VERIFY_WRITE, grouplist, info->ngroups * sizeof(group)))
-		return -EFAULT;
-
-	for (i = 0; i < info->ngroups; i++) {
-		group = (u16)GROUP_AT(info, i);
-		if (__put_user(group, grouplist+i))
-			return -EFAULT;
-	}
-
-	return 0;
-}
-
-static int groups16_from_user(struct group_info *info, u16 *grouplist)
-{
-	int i;
-	u16 group;
-
-	if (info->ngroups > TASK_SIZE/sizeof(group))
-		return -EFAULT;
-	if (!access_ok(VERIFY_READ, grouplist, info->ngroups * sizeof(group)))
-		return -EFAULT;
-
-	for (i = 0; i < info->ngroups; i++) {
-		if (__get_user(group, grouplist+i))
-			return  -EFAULT;
-		GROUP_AT(info, i) = (gid_t)group;
-	}
-
-	return 0;
-}
-
-asmlinkage long sys32_getgroups16(int gidsetsize, u16 *grouplist)
-{
-	int i;
-
-	if (gidsetsize < 0)
-		return -EINVAL;
-	i = current->group_info->ngroups;
-	if (gidsetsize) {
-		if (i > gidsetsize)
-			return -EINVAL;
-		if (groups16_to_user(grouplist, current->group_info))
-			return -EFAULT;
-	}
-	return i;
-}
-
-asmlinkage long sys32_setgroups16(int gidsetsize, u16 *grouplist)
-{
-	struct group_info *new_info;
-	int retval;
-
-	if (!capable(CAP_SETGID))
-		return -EPERM;
-	new_info = groups_alloc(gidsetsize);
-	if (!new_info)
-		return -ENOMEM;
-	retval = groups16_from_user(new_info, grouplist);
-	if (retval) {
-		groups_free(new_info);
-		return retval;
-	}
-
-	retval = set_current_groups(new_info);
-	if (retval)
-		groups_free(new_info);
-
-	return retval;
-}
-
-asmlinkage long sys32_getuid16(void)
-{
-	return high2lowuid(current->uid);
-}
-
-asmlinkage long sys32_geteuid16(void)
-{
-	return high2lowuid(current->euid);
-}
-
-asmlinkage long sys32_getgid16(void)
-{
-	return high2lowgid(current->gid);
-}
-
-asmlinkage long sys32_getegid16(void)
-{
-	return high2lowgid(current->egid);
-}
 
 /* 32-bit timeval and related flotsam.  */
 
diff -ruN ngroups-2.6/arch/s390/kernel/compat_wrapper.S uid16-2.6/arch/s390/kernel/compat_wrapper.S
--- ngroups-2.6/arch/s390/kernel/compat_wrapper.S	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/s390/kernel/compat_wrapper.S	2004-01-27 17:47:40.000000000 -0800
@@ -84,7 +84,7 @@
 	llgtr	%r2,%r2			# const char *
 	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t 
 	llgfr	%r4,%r4			# __kernel_old_uid_emu31_t 
-	jg	sys32_lchown16		# branch to system call
+	jg	sys_lchown16		# branch to system call
 
 	.globl  sys32_lseek_wrapper 
 sys32_lseek_wrapper:
@@ -112,7 +112,7 @@
 	.globl  sys32_setuid16_wrapper 
 sys32_setuid16_wrapper:
 	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t 
-	jg	sys32_setuid16		# branch to system call
+	jg	sys_setuid16		# branch to system call
 
 #sys32_getuid16_wrapper			# void 
 
@@ -196,7 +196,7 @@
 	.globl  sys32_setgid16_wrapper 
 sys32_setgid16_wrapper:
 	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t 
-	jg	sys32_setgid16		# branch to system call
+	jg	sys_setgid16		# branch to system call
 
 #sys32_getgid16_wrapper			# void 
 
@@ -279,13 +279,13 @@
 sys32_setreuid16_wrapper:
 	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t 
 	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t 
-	jg	sys32_setreuid16	# branch to system call
+	jg	sys_setreuid16		# branch to system call
 
 	.globl  sys32_setregid16_wrapper 
 sys32_setregid16_wrapper:
 	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t 
 	llgfr	%r3,%r3			# __kernel_old_gid_emu31_t 
-	jg	sys32_setregid16	# branch to system call
+	jg	sys_setregid16		# branch to system call
 
 #sys32_sigsuspend_wrapper		# done in sigsuspend_glue 
 
@@ -345,13 +345,13 @@
 sys32_getgroups16_wrapper:
 	lgfr	%r2,%r2			# int
 	llgtr	%r3,%r3			# __kernel_old_gid_emu31_t *
-	jg	sys32_getgroups16	# branch to system call
+	jg	sys_getgroups16		# branch to system call
 
 	.globl  sys32_setgroups16_wrapper 
 sys32_setgroups16_wrapper:
 	lgfr	%r2,%r2			# int
 	llgtr	%r3,%r3			# __kernel_old_gid_emu31_t *
-	jg	sys32_setgroups16	# branch to system call
+	jg	sys_setgroups16		# branch to system call
 
 	.globl  sys32_symlink_wrapper 
 sys32_symlink_wrapper:
@@ -426,7 +426,7 @@
 	llgfr	%r2,%r2			# unsigned int
 	llgtr	%r3,%r3			# __kernel_old_uid_emu31_t *
 	llgtr	%r4,%r4			# __kernel_old_gid_emu31_t *
-	jg	sys32_fchown16		# branch to system call
+	jg	sys_fchown16		# branch to system call
 
 	.globl  sys32_getpriority_wrapper 
 sys32_getpriority_wrapper:
@@ -615,12 +615,12 @@
 	.globl  sys32_setfsuid16_wrapper 
 sys32_setfsuid16_wrapper:
 	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t 
-	jg	sys32_setfsuid16	# branch to system call
+	jg	sys_setfsuid16		# branch to system call
 
 	.globl  sys32_setfsgid16_wrapper 
 sys32_setfsgid16_wrapper:
 	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t 
-	jg	sys32_setfsgid16	# branch to system call
+	jg	sys_setfsgid16		# branch to system call
 
 	.globl  sys32_llseek_wrapper 
 sys32_llseek_wrapper:
@@ -767,14 +767,14 @@
 	llgfr	%r2,%r2			# __kernel_old_uid_emu31_t 
 	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t 
 	llgfr	%r4,%r4			# __kernel_old_uid_emu31_t 
-	jg	sys32_setresuid16	# branch to system call
+	jg	sys_setresuid16		# branch to system call
 
 	.globl  sys32_getresuid16_wrapper 
 sys32_getresuid16_wrapper:
 	llgtr	%r2,%r2			# __kernel_old_uid_emu31_t *
 	llgtr	%r3,%r3			# __kernel_old_uid_emu31_t *
 	llgtr	%r4,%r4			# __kernel_old_uid_emu31_t *
-	jg	sys32_getresuid16	# branch to system call
+	jg	sys_getresuid16		# branch to system call
 
 	.globl  sys32_poll_wrapper 
 sys32_poll_wrapper:
@@ -795,14 +795,14 @@
 	llgfr	%r2,%r2			# __kernel_old_gid_emu31_t 
 	llgfr	%r3,%r3			# __kernel_old_gid_emu31_t 
 	llgfr	%r4,%r4			# __kernel_old_gid_emu31_t 
-	jg	sys32_setresgid16	# branch to system call
+	jg	sys_setresgid16		# branch to system call
 
 	.globl  sys32_getresgid16_wrapper 
 sys32_getresgid16_wrapper:
 	llgtr	%r2,%r2			# __kernel_old_gid_emu31_t *
 	llgtr	%r3,%r3			# __kernel_old_gid_emu31_t *
 	llgtr	%r4,%r4			# __kernel_old_gid_emu31_t *
-	jg	sys32_getresgid16	# branch to system call
+	jg	sys_getresgid16		# branch to system call
 
 	.globl  sys32_prctl_wrapper 
 sys32_prctl_wrapper:
@@ -876,7 +876,7 @@
 	llgtr	%r2,%r2			# const char *
 	llgfr	%r3,%r3			# __kernel_old_uid_emu31_t 
 	llgfr	%r4,%r4			# __kernel_old_gid_emu31_t 
-	jg	sys32_chown16		# branch to system call
+	jg	sys_chown16		# branch to system call
 
 	.globl  sys32_getcwd_wrapper 
 sys32_getcwd_wrapper:
diff -ruN ngroups-2.6/arch/s390/kernel/syscalls.S uid16-2.6/arch/s390/kernel/syscalls.S
--- ngroups-2.6/arch/s390/kernel/syscalls.S	2004-01-26 09:19:00.000000000 -0800
+++ uid16-2.6/arch/s390/kernel/syscalls.S	2004-01-27 17:50:21.000000000 -0800
@@ -32,7 +32,7 @@
 SYSCALL(sys_mount,sys_mount,sys32_mount_wrapper)
 SYSCALL(sys_oldumount,sys_oldumount,sys32_oldumount_wrapper)
 SYSCALL(sys_setuid16,sys_ni_syscall,sys32_setuid16_wrapper)	/* old setuid16 syscall*/
-SYSCALL(sys_getuid16,sys_ni_syscall,sys32_getuid16)		/* old getuid16 syscall*/
+SYSCALL(sys_getuid16,sys_ni_syscall,sys_getuid16)		/* old getuid16 syscall*/
 SYSCALL(sys_stime,sys_ni_syscall,sys32_stime_wrapper)		/* 25 old stime syscall */
 SYSCALL(sys_ptrace,sys_ptrace,sys32_ptrace_wrapper)
 SYSCALL(sys_alarm,sys_alarm,sys32_alarm_wrapper)
@@ -54,11 +54,11 @@
 SYSCALL(sys_times,sys_times,compat_sys_times_wrapper)
 NI_SYSCALL							/* old prof syscall */
 SYSCALL(sys_brk,sys_brk,sys32_brk_wrapper)			/* 45 */
-SYSCALL(sys_setgid16,sys_ni_syscall,sys32_setgid16)		/* old setgid16 syscall*/
-SYSCALL(sys_getgid16,sys_ni_syscall,sys32_getgid16)		/* old getgid16 syscall*/
+SYSCALL(sys_setgid16,sys_ni_syscall,sys_setgid16)		/* old setgid16 syscall*/
+SYSCALL(sys_getgid16,sys_ni_syscall,sys_getgid16)		/* old getgid16 syscall*/
 SYSCALL(sys_signal,sys_signal,sys32_signal_wrapper)
-SYSCALL(sys_geteuid16,sys_ni_syscall,sys32_geteuid16)		/* old geteuid16 syscall */
-SYSCALL(sys_getegid16,sys_ni_syscall,sys32_getegid16)		/* 50 old getegid16 syscall */
+SYSCALL(sys_geteuid16,sys_ni_syscall,sys_geteuid16)		/* old geteuid16 syscall */
+SYSCALL(sys_getegid16,sys_ni_syscall,sys_getegid16)		/* 50 old getegid16 syscall */
 SYSCALL(sys_acct,sys_acct,sys32_acct_wrapper)
 SYSCALL(sys_umount,sys_umount,sys32_umount_wrapper)
 NI_SYSCALL							/* old lock syscall */
diff -ruN ngroups-2.6/arch/sh/Kconfig uid16-2.6/arch/sh/Kconfig
--- ngroups-2.6/arch/sh/Kconfig	2004-01-26 09:19:01.000000000 -0800
+++ uid16-2.6/arch/sh/Kconfig	2004-01-27 15:40:15.000000000 -0800
@@ -18,6 +18,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/sparc/Kconfig uid16-2.6/arch/sparc/Kconfig
--- ngroups-2.6/arch/sparc/Kconfig	2004-01-26 09:19:01.000000000 -0800
+++ uid16-2.6/arch/sparc/Kconfig	2004-01-27 15:40:30.000000000 -0800
@@ -13,6 +13,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config HIGHMEM
 	bool
 	default y
diff -ruN ngroups-2.6/arch/sparc64/Kconfig uid16-2.6/arch/sparc64/Kconfig
--- ngroups-2.6/arch/sparc64/Kconfig	2004-01-26 09:19:01.000000000 -0800
+++ uid16-2.6/arch/sparc64/Kconfig	2004-01-27 17:13:53.000000000 -0800
@@ -381,6 +381,11 @@
 	depends on SPARC32_COMPAT
 	default y
 
+config UID16_SYSCALLS
+	bool
+	depends on SPARC32_COMPAT
+	default y
+
 config BINFMT_ELF32
 	tristate "Kernel support for 32-bit ELF binaries"
 	depends on SPARC32_COMPAT
diff -ruN ngroups-2.6/arch/sparc64/kernel/entry.S uid16-2.6/arch/sparc64/kernel/entry.S
--- ngroups-2.6/arch/sparc64/kernel/entry.S	2003-12-19 14:30:00.000000000 -0800
+++ uid16-2.6/arch/sparc64/kernel/entry.S	2004-01-27 17:30:23.000000000 -0800
@@ -1475,9 +1475,9 @@
 	/* SunOS getuid() returns uid in %o0 and euid in %o1 */
 	.globl	sunos_getuid
 sunos_getuid:
-	call	sys32_geteuid16
+	call	sys_geteuid16
 	 nop
-	call	sys32_getuid16
+	call	sys_getuid16
 	 stx	%o0, [%sp + PTREGS_OFF + PT_V9_I1]
 	b,pt	%xcc, ret_sys_call
 	 stx	%o0, [%sp + PTREGS_OFF + PT_V9_I0]
@@ -1485,9 +1485,9 @@
 	/* SunOS getgid() returns gid in %o0 and egid in %o1 */
 	.globl	sunos_getgid
 sunos_getgid:
-	call	sys32_getegid16
+	call	sys_getegid16
 	 nop
-	call	sys32_getgid16
+	call	sys_getgid16
 	 stx	%o0, [%sp + PTREGS_OFF + PT_V9_I1]
 	b,pt	%xcc, ret_sys_call
 	 stx	%o0, [%sp + PTREGS_OFF + PT_V9_I0]
diff -ruN ngroups-2.6/arch/sparc64/kernel/sys_sparc32.c uid16-2.6/arch/sparc64/kernel/sys_sparc32.c
--- ngroups-2.6/arch/sparc64/kernel/sys_sparc32.c	2004-01-27 12:40:02.000000000 -0800
+++ uid16-2.6/arch/sparc64/kernel/sys_sparc32.c	2004-01-27 17:27:36.000000000 -0800
@@ -88,194 +88,6 @@
 	__ret;				\
 })
 
-extern asmlinkage long sys_chown(const char *, uid_t,gid_t);
-extern asmlinkage long sys_lchown(const char *, uid_t,gid_t);
-extern asmlinkage long sys_fchown(unsigned int, uid_t,gid_t);
-extern asmlinkage long sys_setregid(gid_t, gid_t);
-extern asmlinkage long sys_setgid(gid_t);
-extern asmlinkage long sys_setreuid(uid_t, uid_t);
-extern asmlinkage long sys_setuid(uid_t);
-extern asmlinkage long sys_setresuid(uid_t, uid_t, uid_t);
-extern asmlinkage long sys_setresgid(gid_t, gid_t, gid_t);
-extern asmlinkage long sys_setfsuid(uid_t);
-extern asmlinkage long sys_setfsgid(gid_t);
- 
-asmlinkage long sys32_chown16(const char * filename, u16 user, u16 group)
-{
-	return sys_chown(filename, low2highuid(user), low2highgid(group));
-}
-
-asmlinkage long sys32_lchown16(const char * filename, u16 user, u16 group)
-{
-	return sys_lchown(filename, low2highuid(user), low2highgid(group));
-}
-
-asmlinkage long sys32_fchown16(unsigned int fd, u16 user, u16 group)
-{
-	return sys_fchown(fd, low2highuid(user), low2highgid(group));
-}
-
-asmlinkage long sys32_setregid16(u16 rgid, u16 egid)
-{
-	return sys_setregid(low2highgid(rgid), low2highgid(egid));
-}
-
-asmlinkage long sys32_setgid16(u16 gid)
-{
-	return sys_setgid((gid_t)gid);
-}
-
-asmlinkage long sys32_setreuid16(u16 ruid, u16 euid)
-{
-	return sys_setreuid(low2highuid(ruid), low2highuid(euid));
-}
-
-asmlinkage long sys32_setuid16(u16 uid)
-{
-	return sys_setuid((uid_t)uid);
-}
-
-asmlinkage long sys32_setresuid16(u16 ruid, u16 euid, u16 suid)
-{
-	return sys_setresuid(low2highuid(ruid), low2highuid(euid),
-		low2highuid(suid));
-}
-
-asmlinkage long sys32_getresuid16(u16 *ruid, u16 *euid, u16 *suid)
-{
-	int retval;
-
-	if (!(retval = put_user(high2lowuid(current->uid), ruid)) &&
-	    !(retval = put_user(high2lowuid(current->euid), euid)))
-		retval = put_user(high2lowuid(current->suid), suid);
-
-	return retval;
-}
-
-asmlinkage long sys32_setresgid16(u16 rgid, u16 egid, u16 sgid)
-{
-	return sys_setresgid(low2highgid(rgid), low2highgid(egid),
-		low2highgid(sgid));
-}
-
-asmlinkage long sys32_getresgid16(u16 *rgid, u16 *egid, u16 *sgid)
-{
-	int retval;
-
-	if (!(retval = put_user(high2lowgid(current->gid), rgid)) &&
-	    !(retval = put_user(high2lowgid(current->egid), egid)))
-		retval = put_user(high2lowgid(current->sgid), sgid);
-
-	return retval;
-}
-
-asmlinkage long sys32_setfsuid16(u16 uid)
-{
-	return sys_setfsuid((uid_t)uid);
-}
-
-asmlinkage long sys32_setfsgid16(u16 gid)
-{
-	return sys_setfsgid((gid_t)gid);
-}
-
-static int groups16_to_user(u16 *grouplist, struct group_info *info)
-{
-	int i;
-	u16 group;
-
-	if (info->ngroups > TASK_SIZE/sizeof(group))
-		return -EFAULT;
-       if (!access_ok(VERIFY_WRITE, grouplist, info->ngroups * sizeof(group)))
-		return -EFAULT;
-
-	for (i = 0; i < info->ngroups; i++) {
-		group = (u16)GROUP_AT(info, i);
-		if (__put_user(group, grouplist+i))
-			return -EFAULT;
-	}
-
-	return 0;
-}
-
-static int groups16_from_user(struct group_info *info, u16 *grouplist)
-{
-	int i;
-	u16 group;
-
-	if (info->ngroups > TASK_SIZE/sizeof(group))
-		return -EFAULT;
-       if (!access_ok(VERIFY_READ, grouplist, info->ngroups * sizeof(group)))
-		return -EFAULT;
-
-	for (i = 0; i < info->ngroups; i++) {
-		if (__get_user(group, grouplist+i))
-			return  -EFAULT;
-		GROUP_AT(info, i) = (gid_t)group;
-	}
-
-	return 0;
-}
-
-asmlinkage long sys32_getgroups16(int gidsetsize, u16 *grouplist)
-{
-	int i;
-
-	if (gidsetsize < 0)
-		return -EINVAL;
-	i = current->group_info->ngroups;
-	if (gidsetsize) {
-		if (i > gidsetsize)
-			return -EINVAL;
-		if (groups16_to_user(grouplist, current->group_info))
-			return -EFAULT;
-	}
-	return i;
-}
-
-asmlinkage long sys32_setgroups16(int gidsetsize, u16 *grouplist)
-{
-	struct group_info *new_info;
-	int retval;
-
-	if (!capable(CAP_SETGID))
-		return -EPERM;
-	new_info = groups_alloc(gidsetsize);
-	if (!new_info)
-		return -ENOMEM;
-	retval = groups16_from_user(new_info, grouplist);
-	if (retval) {
-		groups_free(new_info);
-		return retval;
-	}
-
-	retval = set_current_groups(new_info);
-	if (retval)
-		groups_free(new_info);
-
-	return retval;
-}
-
-asmlinkage long sys32_getuid16(void)
-{
-	return high2lowuid(current->uid);
-}
-
-asmlinkage long sys32_geteuid16(void)
-{
-	return high2lowuid(current->euid);
-}
-
-asmlinkage long sys32_getgid16(void)
-{
-	return high2lowgid(current->gid);
-}
-
-asmlinkage long sys32_getegid16(void)
-{
-	return high2lowgid(current->egid);
-}
-
 /* 32-bit timeval and related flotsam.  */
 
 static long get_tv32(struct timeval *o, struct compat_timeval *i)
diff -ruN ngroups-2.6/arch/sparc64/kernel/systbls.S uid16-2.6/arch/sparc64/kernel/systbls.S
--- ngroups-2.6/arch/sparc64/kernel/systbls.S	2004-01-26 09:19:01.000000000 -0800
+++ uid16-2.6/arch/sparc64/kernel/systbls.S	2004-01-27 17:35:08.000000000 -0800
@@ -21,21 +21,21 @@
 sys_call_table32:
 /*0*/	.word sys_restart_syscall, sparc_exit, sys_fork, sys_read, sys_write
 /*5*/	.word sparc32_open, sys_close, compat_sys_wait4, sys_creat, sys_link
-/*10*/  .word sys_unlink, sunos_execv, sys_chdir, sys32_chown16, sys32_mknod
-/*15*/	.word sys32_chmod, sys32_lchown16, sparc_brk, sys_perfctr, sys32_lseek
-/*20*/	.word sys_getpid, sys_capget, sys_capset, sys32_setuid16, sys32_getuid16
+/*10*/  .word sys_unlink, sunos_execv, sys_chdir, sys_chown16, sys32_mknod
+/*15*/	.word sys32_chmod, sys_lchown16, sparc_brk, sys_perfctr, sys32_lseek
+/*20*/	.word sys_getpid, sys_capget, sys_capset, sys_setuid16, sys_getuid16
 /*25*/	.word sys_time, sys_ptrace, sys_alarm, sys32_sigaltstack, sys32_pause
 /*30*/	.word compat_sys_utime, sys_lchown, sys_fchown, sys_access, sys_nice
 	.word sys_chown, sys_sync, sys_kill, compat_sys_newstat, sys32_sendfile
 /*40*/	.word compat_sys_newlstat, sys_dup, sys_pipe, compat_sys_times, sys_getuid
-	.word sys_umount, sys32_setgid16, sys32_getgid16, sys_signal, sys32_geteuid16
-/*50*/	.word sys32_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl
+	.word sys_umount, sys_setgid16, sys_getgid16, sys_signal, sys_geteuid16
+/*50*/	.word sys_getegid16, sys_acct, sys_nis_syscall, sys_getgid, compat_sys_ioctl
 	.word sys_reboot, sys32_mmap2, sys_symlink, sys_readlink, sys32_execve
 /*60*/	.word sys_umask, sys_chroot, compat_sys_newfstat, sys_fstat64, sys_getpagesize
 	.word sys_msync, sys_vfork, sys32_pread64, sys32_pwrite64, sys_geteuid
 /*70*/	.word sys_getegid, sys32_mmap, sys_setreuid, sys_munmap, sys_mprotect
-	.word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys32_getgroups16
-/*80*/	.word sys32_setgroups16, sys_getpgrp, sys_setgroups, compat_sys_setitimer, sys32_ftruncate64
+	.word sys_madvise, sys_vhangup, sys32_truncate64, sys_mincore, sys_getgroups16
+/*80*/	.word sys_setgroups16, sys_getpgrp, sys_setgroups, compat_sys_setitimer, sys32_ftruncate64
 	.word sys_swapon, compat_sys_getitimer, sys_setuid, sys_sethostname, sys_setgid
 /*90*/	.word sys_dup2, sys_setfsuid, compat_sys_fcntl, sys32_select, sys_setfsgid
 	.word sys_fsync, sys_setpriority32, sys_nis_syscall, sys_nis_syscall, sys_nis_syscall
@@ -43,8 +43,8 @@
 	.word sys32_rt_sigtimedwait, sys32_rt_sigqueueinfo, sys32_rt_sigsuspend, sys_setresuid, sys_getresuid
 /*110*/	.word sys_setresgid, sys_getresgid, sys_setregid, sys_nis_syscall, sys_nis_syscall
 	.word sys_getgroups, sys32_gettimeofday, compat_sys_getrusage, sys_nis_syscall, sys_getcwd
-/*120*/	.word sys32_readv, sys32_writev, sys32_settimeofday, sys32_fchown16, sys_fchmod
-	.word sys_nis_syscall, sys32_setreuid16, sys32_setregid16, sys_rename, sys_truncate
+/*120*/	.word sys32_readv, sys32_writev, sys32_settimeofday, sys_fchown16, sys_fchmod
+	.word sys_nis_syscall, sys_setreuid16, sys_setregid16, sys_rename, sys_truncate
 /*130*/	.word sys_ftruncate, sys_flock, sys_lstat64, sys_nis_syscall, sys_nis_syscall
 	.word sys_nis_syscall, sys_mkdir, sys_rmdir, sys32_utimes, sys_stat64
 /*140*/	.word sys32_sendfile64, sys_nis_syscall, compat_sys_futex, sys_gettid, compat_sys_getrlimit
@@ -64,7 +64,7 @@
 /*210*/	.word sys32_fadvise64_64, sys_tgkill, sys_waitpid, sys_swapoff, sys32_sysinfo
 	.word sys32_ipc, sys32_sigreturn, sys_clone, sys_nis_syscall, sys32_adjtimex
 /*220*/	.word compat_sys_sigprocmask, sys_ni_syscall, sys32_delete_module, sys_ni_syscall, sys_getpgid
-	.word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys32_setfsuid16, sys32_setfsgid16
+	.word sys32_bdflush, sys32_sysfs, sys_nis_syscall, sys_setfsuid16, sys_setfsgid16
 /*230*/	.word sys32_select, sys_time, sys_nis_syscall, sys_stime, compat_statfs64
 	.word compat_fstatfs64, sys_llseek, sys_mlock, sys_munlock, sys_mlockall
 /*240*/	.word sys_munlockall, sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler
@@ -149,7 +149,7 @@
 	.word sys_close, sunos_wait4, sys_creat
 	.word sys_link, sys_unlink, sunos_execv
 	.word sys_chdir, sunos_nosys, sys32_mknod
-	.word sys32_chmod, sys32_lchown16, sunos_brk
+	.word sys32_chmod, sys_lchown16, sunos_brk
 	.word sunos_nosys, sys32_lseek, sunos_getpid
 	.word sunos_nosys, sunos_nosys, sunos_nosys
 	.word sunos_getuid, sunos_nosys, sys_ptrace
@@ -170,8 +170,8 @@
 	.word sunos_nosys, sunos_sbrk, sunos_sstk
 	.word sunos_mmap, sunos_vadvise, sys_munmap
 	.word sys_mprotect, sys_madvise, sys_vhangup
-	.word sunos_nosys, sys_mincore, sys32_getgroups16
-	.word sys32_setgroups16, sys_getpgrp, sunos_setpgrp
+	.word sunos_nosys, sys_mincore, sys_getgroups16
+	.word sys_setgroups16, sys_getpgrp, sunos_setpgrp
 	.word compat_sys_setitimer, sunos_nosys, sys_swapon
 	.word compat_sys_getitimer, sys_gethostname, sys_sethostname
 	.word sunos_getdtablesize, sys_dup2, sunos_nop
@@ -185,9 +185,9 @@
 	.word sys32_sigstack, compat_sys_recvmsg, compat_sys_sendmsg
 	.word sunos_nosys, sys32_gettimeofday, compat_sys_getrusage
 	.word sunos_getsockopt, sunos_nosys, sunos_readv
-	.word sunos_writev, sys32_settimeofday, sys32_fchown16
-	.word sys_fchmod, sys32_recvfrom, sys32_setreuid16
-	.word sys32_setregid16, sys_rename, sys_truncate
+	.word sunos_writev, sys32_settimeofday, sys_fchown16
+	.word sys_fchmod, sys32_recvfrom, sys_setreuid16
+	.word sys_setregid16, sys_rename, sys_truncate
 	.word sys_ftruncate, sys_flock, sunos_nosys
 	.word sys32_sendto, sys_shutdown, sys_socketpair
 	.word sys_mkdir, sys_rmdir, sys32_utimes
diff -ruN ngroups-2.6/arch/um/Kconfig uid16-2.6/arch/um/Kconfig
--- ngroups-2.6/arch/um/Kconfig	2004-01-26 09:19:09.000000000 -0800
+++ uid16-2.6/arch/um/Kconfig	2004-01-27 15:41:22.000000000 -0800
@@ -22,6 +22,10 @@
 	bool
 	default y
 
+config UID16_SYSCALLS
+	bool
+	default y
+
 config RWSEM_GENERIC_SPINLOCK
 	bool
 	default y
diff -ruN ngroups-2.6/arch/x86_64/Kconfig uid16-2.6/arch/x86_64/Kconfig
--- ngroups-2.6/arch/x86_64/Kconfig	2004-01-26 09:19:09.000000000 -0800
+++ uid16-2.6/arch/x86_64/Kconfig	2004-01-27 17:10:03.000000000 -0800
@@ -368,6 +368,11 @@
 	depends on IA32_EMULATION
 	default y
 
+config UID16_SYSCALLS
+	bool
+	depends on IA32_EMULATION
+	default y
+
 endmenu
 
 source drivers/Kconfig
diff -ruN ngroups-2.6/kernel/Makefile uid16-2.6/kernel/Makefile
--- ngroups-2.6/kernel/Makefile	2003-12-19 14:30:14.000000000 -0800
+++ uid16-2.6/kernel/Makefile	2004-01-27 14:53:35.000000000 -0800
@@ -11,7 +11,7 @@
 obj-$(CONFIG_FUTEX) += futex.o
 obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o
 obj-$(CONFIG_SMP) += cpu.o
-obj-$(CONFIG_UID16) += uid16.o
+obj-$(CONFIG_UID16_SYSCALLS) += uid16.o
 obj-$(CONFIG_MODULES) += module.o
 obj-$(CONFIG_KALLSYMS) += kallsyms.o
 obj-$(CONFIG_PM) += power/
diff -ruN ngroups-2.6/kernel/uid16.c uid16-2.6/kernel/uid16.c
--- ngroups-2.6/kernel/uid16.c	2004-01-27 12:40:02.000000000 -0800
+++ uid16-2.6/kernel/uid16.c	2004-01-27 15:07:52.000000000 -0800
@@ -11,11 +11,19 @@
 #include <linux/reboot.h>
 #include <linux/prctl.h>
 #include <linux/init.h>
-#include <linux/highuid.h>
+#include <linux/types.h>
 #include <linux/security.h>
 
 #include <asm/uaccess.h>
 
+/* duplicated from highuid.h, but not exposed */
+extern int overflowuid;
+extern int overflowgid;
+#define high2lowuid(uid) ((uid) > 65535 ? (uid16_t)overflowuid : (uid16_t)(uid)
+#define high2lowgid(gid) ((gid) > 65535 ? (gid16_t)overflowgid : (gid16_t)(gid))
+#define low2highuid(uid) ((uid) == (uid16_t)-1 ? (uid_t)-1 : (uid_t)(uid))
+#define low2highgid(gid) ((gid) == (gid16_t)-1 ? (gid_t)-1 : (gid_t)(gid))
+
 extern asmlinkage long sys_chown(const char *, uid_t,gid_t);
 extern asmlinkage long sys_lchown(const char *, uid_t,gid_t);
 extern asmlinkage long sys_fchown(unsigned int, uid_t,gid_t);
@@ -28,48 +36,48 @@
 extern asmlinkage long sys_setfsuid(uid_t);
 extern asmlinkage long sys_setfsgid(gid_t);
  
-asmlinkage long sys_chown16(const char * filename, old_uid_t user, old_gid_t group)
+asmlinkage long sys_chown16(const char * filename, uid16_t user, gid16_t group)
 {
 	return sys_chown(filename, low2highuid(user), low2highgid(group));
 }
 
-asmlinkage long sys_lchown16(const char * filename, old_uid_t user, old_gid_t group)
+asmlinkage long sys_lchown16(const char * filename, uid16_t user, gid16_t group)
 {
 	return sys_lchown(filename, low2highuid(user), low2highgid(group));
 }
 
-asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group)
+asmlinkage long sys_fchown16(unsigned int fd, uid16_t user, gid16_t group)
 {
 	return sys_fchown(fd, low2highuid(user), low2highgid(group));
 }
 
-asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid)
+asmlinkage long sys_setregid16(gid16_t rgid, gid16_t egid)
 {
 	return sys_setregid(low2highgid(rgid), low2highgid(egid));
 }
 
-asmlinkage long sys_setgid16(old_gid_t gid)
+asmlinkage long sys_setgid16(gid16_t gid)
 {
 	return sys_setgid((gid_t)gid);
 }
 
-asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid)
+asmlinkage long sys_setreuid16(uid16_t ruid, uid16_t euid)
 {
 	return sys_setreuid(low2highuid(ruid), low2highuid(euid));
 }
 
-asmlinkage long sys_setuid16(old_uid_t uid)
+asmlinkage long sys_setuid16(uid16_t uid)
 {
 	return sys_setuid((uid_t)uid);
 }
 
-asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid)
+asmlinkage long sys_setresuid16(uid16_t ruid, uid16_t euid, uid16_t suid)
 {
 	return sys_setresuid(low2highuid(ruid), low2highuid(euid),
 		low2highuid(suid));
 }
 
-asmlinkage long sys_getresuid16(old_uid_t *ruid, old_uid_t *euid, old_uid_t *suid)
+asmlinkage long sys_getresuid16(uid16_t *ruid, uid16_t *euid, uid16_t *suid)
 {
 	int retval;
 
@@ -80,13 +88,13 @@
 	return retval;
 }
 
-asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid)
+asmlinkage long sys_setresgid16(gid16_t rgid, gid16_t egid, gid16_t sgid)
 {
 	return sys_setresgid(low2highgid(rgid), low2highgid(egid),
 		low2highgid(sgid));
 }
 
-asmlinkage long sys_getresgid16(old_gid_t *rgid, old_gid_t *egid, old_gid_t *sgid)
+asmlinkage long sys_getresgid16(gid16_t *rgid, gid16_t *egid, gid16_t *sgid)
 {
 	int retval;
 
@@ -97,21 +105,21 @@
 	return retval;
 }
 
-asmlinkage long sys_setfsuid16(old_uid_t uid)
+asmlinkage long sys_setfsuid16(uid16_t uid)
 {
 	return sys_setfsuid((uid_t)uid);
 }
 
-asmlinkage long sys_setfsgid16(old_gid_t gid)
+asmlinkage long sys_setfsgid16(gid16_t gid)
 {
 	return sys_setfsgid((gid_t)gid);
 }
 
-static int groups16_to_user(old_gid_t __user *grouplist,
+static int groups16_to_user(gid16_t __user *grouplist,
     struct group_info *info)
 {
 	int i;
-	old_gid_t group;
+	gid16_t group;
 
 	if (info->ngroups > TASK_SIZE/sizeof(group))
 		return -EFAULT;
@@ -119,7 +127,7 @@
 		return -EFAULT;
 
 	for (i = 0; i < info->ngroups; i++) {
-		group = (old_gid_t)GROUP_AT(info, i);
+		group = (gid16_t)GROUP_AT(info, i);
 		if (__put_user(group, grouplist+i))
 			return -EFAULT;
 	}
@@ -128,10 +136,10 @@
 }
 
 static int groups16_from_user(struct group_info *info,
-    old_gid_t __user *grouplist)
+    gid16_t __user *grouplist)
 {
 	int i;
-	old_gid_t group;
+	gid16_t group;
 
 	if (info->ngroups > TASK_SIZE/sizeof(group))
 		return -EFAULT;
@@ -147,7 +155,7 @@
 	return 0;
 }
 
-asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist)
+asmlinkage long sys_getgroups16(int gidsetsize, gid16_t __user *grouplist)
 {
 	int i = 0;
 
@@ -163,7 +171,7 @@
 	return i;
 }
 
-asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist)
+asmlinkage long sys_setgroups16(int gidsetsize, gid16_t __user *grouplist)
 {
 	struct group_info *new_info;
 	int retval;

^ permalink raw reply

* Re: Badness in scsi_single_lun_run at /root/scsi/scsi_lib.c:344
From: Willem Riede @ 2004-01-28  3:30 UTC (permalink / raw)
  To: linux-scsi
In-Reply-To: <20040127003244.GM23308@serve.riede.org>

On 2004.01.26 19:32, Willem Riede wrote:
> Jan 26 17:13:23 fallguy kernel: Badness in scsi_single_lun_run at /root/scsi/scsi_lib.c:344
> Jan 26 17:13:23 fallguy kernel: Call Trace:
> Jan 26 17:13:23 fallguy kernel:  [<e0850192>] scsi_single_lun_run+0x202/0x230 [scsi_mod]
> Jan 26 17:13:23 fallguy kernel:  [<e084a33d>] scsi_put_command+0xbd/0x160 [scsi_mod]
> Jan 26 17:13:23 fallguy kernel:  [<e0850347>] scsi_run_queue+0x187/0x190 [scsi_mod]
> Jan 26 17:13:23 fallguy kernel:  [<e0850524>] scsi_end_request+0xf4/0x150 [scsi_mod]
> Jan 26 17:13:23 fallguy kernel:  [<e08508f7>] scsi_io_completion+0x1c7/0x4b0 [scsi_mod]
> Jan 26 17:13:23 fallguy kernel:  [<e0829a32>] sd_rw_intr+0x82/0x260 [sd_mod]
> Jan 26 17:13:24 fallguy kernel:  [<e084aed1>] scsi_finish_command+0x81/0xe0 [scsi_mod]
> Jan 26 17:13:24 fallguy kernel:  [<e084ade8>] scsi_softirq+0xc8/0xf0 [scsi_mod]
> Jan 26 17:13:24 fallguy kernel:  [<c012d6a7>] do_softirq+0xc7/0xd0
> Jan 26 17:13:24 fallguy kernel:  [<c010e395>] do_IRQ+0x165/0x220

scsi_lib.c contains the following code:

                spin_lock(shost->host_lock);
                                                                                                                        
                if (!scsi_host_queue_ready(q, shost, sdev))
                        goto not_ready;
                if (sdev->single_lun) {
                        if (sdev->sdev_target->starget_sdev_user &&
                            sdev->sdev_target->starget_sdev_user != sdev)
                                goto not_ready;
                        sdev->sdev_target->starget_sdev_user = sdev;
                }
                shost->host_busy++;
                                                                                                                        
                /*
                 * XXX(hch): This is rather suboptimal, scsi_dispatch_cmd will
                 *              take the lock again.
                 */
                spin_unlock_irq(shost->host_lock);


Is it a problem that the lock is taken by means of spin_lock() and then
released with spin_unlock_irq() ? We do need to lock against scsi_softirq
as in the backtrace above...

Thanks, Willem Riede.

^ permalink raw reply

* Re: Squid only on eth1
From: James Turnbull @ 2004-01-28  3:29 UTC (permalink / raw)
  To: rgomez@bancomer.com; +Cc: linux-newbie
In-Reply-To: <4011C8740000178F@mail-bcm02.alestra.net.mx>

> Here is the information you need:
> My machine is Pentium 400Mhz - 128 MB RAM
>
> $ uname -a
> Linux naboo 2.4.20-8 #1 Thu Mar 13 16:42:56 EST 2003 i586 i586 i386
> GNU/Linux
>
> $ rpm -q squid
> squid-2.5.STABLE1-2
>
> My Internet connection is a T1 maybe more...

Hi

When you asked the previous question about limiting squid to one interface
I provided a fairly simple - a RTFM simple - answer.  As to your broader
problems squid is a complex beastie.  Without digging into your config
(especially your squid.conf) and your network setup I can't explain why
you are getting 60 second + delays from squid.  As I recommended I suggest
you try the Squid FAQ and mailing list on http://www.squid-cache.org/

Regards

James
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

^ permalink raw reply

* Re: [uml-devel] Re: [PATCH] mconsole fixes
From: Dan Shearer @ 2004-01-28  3:30 UTC (permalink / raw)
  To: jdike; +Cc: user-mode-linux-devel
In-Reply-To: <20040128021652.GP4203@erizo.shearer.org>

On Wed, Jan 28, 2004 at 12:46:52PM +1030, Dan Shearer wrote:
> On Tue, Jan 27, 2004 at 08:46:36PM -0500, Jeff Dike wrote:
 
> > I applied most of the rest of that.  I got rid of the exits from main, since
> > I like returns better and I tidied up some other stuff.
> 
> Minor portability potential. See
> http://www.eskimo.com/~scs/C-faq/q11.16.html. (I looked it up once long
> ago and supposedly _exit is more likely to work on more systems than
> exit.)

Actually on second thoughts that is not relevant (applies to functions
other than main.)

However there is only one way that the standard guarantees we can
indicate a status to the OS and that is exit(EXIT_FAILURE) or
EXIT_SUCCESS. return(whatever) works on the sane OSs that we're used to,
but the standard is there for a reason. So that should be used instead.

-- 
Dan Shearer
dan@shearer.org


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply

* Re: [2.0.40-rc8] Works well
From: Coywolf Qi Hunt @ 2004-01-28  3:28 UTC (permalink / raw)
  To: Markus Hästbacka; +Cc: David Weinehall, Kernel Mailinglist
In-Reply-To: <1075223456.5219.1.camel@midux>

Markus Hästbacka wrote:

>Hey David,
>I just mail to tell you that 2.0.40-rc8 seems to work really well, no
>problems compiling (except a few warnings :) and absolutely no problem
>running. Great work!
> 
>	Markus
>  
>
Hello all 2.0 hackers,

Recently I just have such an idea that is to port the 2.0.39 to let it 
be compiled with my gcc 2.95.4 or any
other latest gcc. At the same time,  also make it remain compliant to 
gcc 2.7.2.1. ( I can't find 2.7.2.1, only 2.7.2.3
on the ftp)  Is this work worth while?

                Coywolf




^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.