LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Trouble with 2.6.16 on ppc8xx ?
From: David Jander @ 2006-04-14  8:50 UTC (permalink / raw)
  To: linuxppc-embedded


Hi all,

I just cg-update'd to the HEAD of the denx 2.6.x kernel tree (2.6.16 as 
released).
Our board-support stuff was succesfully moved along from 2.6.14 (when 
everything but the SCC3 and SCC4 uarts worked just fine).
I compiled a kernel without any special drivers, just console on ttyCPM0, but 
after "Uncompressing Kernel Image ... OK" there is no more output and no 
further activity on ethernet (it should boot from nfs-root) or any other 
device.

After "cg-seek DENX-v2.6.15; make clean uImage", it works again (everything 
seems fine, system boots).

Our board is based on a MPC852T and until now we used "MPC86X" as the 
BOARD_CHIP_NAME and it worked just fine with 2.6.14 and 2.6.15, but not with 
2.6.16 as described above.

When doing "cg-diff" and carfully examining it's output, I can only see our 
board-support stuff (not very much, not very special) and some custom drivers 
that are disabled anyway.

Any clue about where to start looking?

I didn't find any suspicious changes in arch/ppc/mm, arch/ppc/syslib and 
arch/ppc/kernel. Neither in drivers/serial/cpm_uart.

Which change from 2.6.15 to 2.6.16 could have broken 8xx support for us?

Is there perhaps a known issue with 2.6.16 and ppc8xx I am unaware of?

Greetings,

-- 
David Jander

^ permalink raw reply

* Re: patch for powerpc lparcfg.c
From: Nathan Lynch @ 2006-04-14  0:25 UTC (permalink / raw)
  To: Carl Love; +Cc: linuxppc-dev
In-Reply-To: <1144969793.5286.10.camel@dyn9047021119.beaverton.ibm.com>

Carl Love wrote:
> 
> I created the attached patch to print the partition name along with the
> other partition information reported in /proc/ppc64/lparcfg for the
> powerpc systems.

> diff -rauN -X /home/carll/dontdiff linux-2.6.17-rc1-git8/arch/powerpc/kernel/lparcfg.c linux-2.6.17-rc1-git8-new/arch/powerpc/kernel/lparcfg.c
> --- linux-2.6.17-rc1-git8/arch/powerpc/kernel/lparcfg.c	2006-04-13 12:25:11.000000000 -0700
> +++ linux-2.6.17-rc1-git8-new/arch/powerpc/kernel/lparcfg.c	2006-04-13 15:29:02.000000000 -0700
> @@ -360,6 +360,9 @@
>  
>  	seq_printf(m, "system_type=%s\n", model);
>  
> +	seq_printf(m, "partition_name=%s\n",
> +		   get_property(rootdn, "ibm,partition-name", NULL));
> +

Who or what is the intended consumer of this information?

You should probably check get_property's return value and print the
partition_name line only if it is non-NULL.

^ permalink raw reply

* patch for powerpc lparcfg.c
From: Carl Love @ 2006-04-13 23:09 UTC (permalink / raw)
  To: linuxppc-dev, cel

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


I created the attached patch to print the partition name along with the
other partition information reported in /proc/ppc64/lparcfg for the
powerpc systems.  The patch adds a single line of code to the
arch/powerpc/kernel/lparcfg.c file.  I tested the code on a power5 box.
I would suggest adding the same line to the I series code at line 101 so
the partition name is printed on I series hardware as well.  Since I
don't have access to I series hardware to test on I did not include this
change in my patch file.

Carl Love

 

[-- Attachment #2: linux-2.6.17-rc1-git8-lparcfg.patch --]
[-- Type: text/x-patch, Size: 593 bytes --]

diff -rauN -X /home/carll/dontdiff linux-2.6.17-rc1-git8/arch/powerpc/kernel/lparcfg.c linux-2.6.17-rc1-git8-new/arch/powerpc/kernel/lparcfg.c
--- linux-2.6.17-rc1-git8/arch/powerpc/kernel/lparcfg.c	2006-04-13 12:25:11.000000000 -0700
+++ linux-2.6.17-rc1-git8-new/arch/powerpc/kernel/lparcfg.c	2006-04-13 15:29:02.000000000 -0700
@@ -360,6 +360,9 @@
 
 	seq_printf(m, "system_type=%s\n", model);
 
+	seq_printf(m, "partition_name=%s\n",
+		   get_property(rootdn, "ibm,partition-name", NULL));
+
 	seq_printf(m, "partition_id=%d\n", (int)lp_index);
 
 	rtas_node = find_path_device("/rtas");

^ permalink raw reply

* Re: [patch][rfc]flattened device tree: Passing a dtb (blob) to Linux.
From: Benjamin Herrenschmidt @ 2006-04-13 23:12 UTC (permalink / raw)
  To: Jimi Xenidis; +Cc: linuxppc-dev
In-Reply-To: <5148225C-AE27-4365-A1C2-40C46491AF0D@watson.ibm.com>

On Wed, 2006-04-12 at 22:05 -0400, Jimi Xenidis wrote:
> A devtree compiler (dtc) generated devtree blob is "relocatable" and  
> so does not contain a reserved_map entry for the blob itself.
> This means that if passed to Linux, Linux will not get lmb_reserve()  
> the blob and it could be over.
> The following patch will explicitly reserve the "blob" as it was  
> given to us and stops prom_init.c from creating a reserved mapping  
> for the blob.
> 
> NOTE: that the dtc must also not generate the blob reservation  
> entry.  Should we try to detect this redundant entry? Should we bump  
> the DT version number?

We should make lmb_reserve() of redudant/overlapping entries become
harmless I think. We need to be backward compatible with earlier blobs
that do contain themselves in the reserve map

Ben.

^ permalink raw reply

* Re: 7447A strange problem with MSR:POW (WAS: can't boot 2.6.17-rc1)
From: Olof Johansson @ 2006-04-13 22:44 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Becky Bruce, Michael Schmitz, debian-powerpc, Paul Mackerras,
	linuxppc-dev list
In-Reply-To: <1144967841.4935.32.camel@localhost.localdomain>

On Fri, Apr 14, 2006 at 08:37:21AM +1000, Benjamin Herrenschmidt wrote:

> I need to verify what's up with the 970. I noticed Apple has some

970 keeps executing too. I guess it's never bitten hard enough to
trigger anything serious.


-Olof

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Benjamin Herrenschmidt @ 2006-04-13 22:38 UTC (permalink / raw)
  To: Olof Johansson; +Cc: linuxppc-dev, paulus, linux-kernel
In-Reply-To: <20060413222721.GN24769@pb15.lixom.net>

On Thu, 2006-04-13 at 17:27 -0500, Olof Johansson wrote:
> On Fri, Apr 14, 2006 at 06:51:55AM +1000, Benjamin Herrenschmidt wrote:
> 
> > an improvement with the DART thanks to virtual merging. Currently, we
> > pay a cost due to our stupid invalidate mecanism that we should really
> > fix by shooting the TLB directly.
> 
> What was keeping me from implementing this before was the lack of public
> documentation on how to do it. Has that changed? I'd be happy to do the
> implementation.

Darwin has the macros to access the TLB though it doesn't use them... I
suppose I can get the necessary doco bit from the microelectronics folks
for the CPC925, that should apply to U3 as well, though U4 has a
different format afaik. I'll dig and will come back to you.

> > Also have you made sure all your
> > additions for handling crappy hardware are nicely wrapped in unlikely()
> > statements ? :)
> 
> I would expect the dynamic predictor to work quite well on this. I'm not
> worried about the overhead of the tests as much as the overhead of
> having to enable the DART for smaller configs. If benchmark profiling
> shows different down the road then we can add them.

Ok.

Ben.

^ permalink raw reply

* Re: 7447A strange problem with MSR:POW (WAS: can't boot 2.6.17-rc1)
From: Benjamin Herrenschmidt @ 2006-04-13 22:37 UTC (permalink / raw)
  To: Becky Bruce
  Cc: linuxppc-dev list, Michael Schmitz, debian-powerpc,
	Paul Mackerras
In-Reply-To: <C7A11372-61BF-4EF7-9869-62B0FD5D8F44@freescale.com>


> FYI, the user's manual recommends this sequence:
> loop:
>        sync
>        mtmsr POW
>        isync
>        b     loop

Ok, that's what OS X does... I always wondered ...

So ideally, we should do something similar to the above and set some
global bit somewhere telling the exception path to change the return
address. In either case, the actual form of the loop becomes fairly
irrelevant.

I need to verify what's up with the 970. I noticed Apple has some
additional weird tricks involving setting the DEC to a short value but
setting POW without EE (though I don't remember for sure, I should dbl
check their code). I suppose I should ask some IBM folks there.

Ben.
 

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Olof Johansson @ 2006-04-13 22:27 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, paulus, linux-kernel
In-Reply-To: <1144961515.4935.22.camel@localhost.localdomain>

On Fri, Apr 14, 2006 at 06:51:55AM +1000, Benjamin Herrenschmidt wrote:

> an improvement with the DART thanks to virtual merging. Currently, we
> pay a cost due to our stupid invalidate mecanism that we should really
> fix by shooting the TLB directly.

What was keeping me from implementing this before was the lack of public
documentation on how to do it. Has that changed? I'd be happy to do the
implementation.

> Also have you made sure all your
> additions for handling crappy hardware are nicely wrapped in unlikely()
> statements ? :)

I would expect the dynamic predictor to work quite well on this. I'm not
worried about the overhead of the tests as much as the overhead of
having to enable the DART for smaller configs. If benchmark profiling
shows different down the road then we can add them.


-Olof

^ permalink raw reply

* Re: [PATCH 0/7] [RFC] Sizing zones and holes in an architecture independent manner V2
From: Luck, Tony @ 2006-04-13 21:53 UTC (permalink / raw)
  To: Mel Gorman; +Cc: davej, linuxppc-dev, ak, bob.picco, linux-kernel, linux-mm
In-Reply-To: <20060413191402.GA20606@skynet.ie>

On Thu, Apr 13, 2006 at 08:14:02PM +0100, Mel Gorman wrote:
> When you get around to it later, there is one case you may hit that Bob
> Picco encountered and fixed for me. It's where a "new" range is registered
> that is inside an existing area; e.g.
> 
> add_active_range:    0->10000
> add_active_range: 9800->10000
> 
> It ends up merging incorrectly and you end up with one region from
> 9800-10000. The fix is below. 

I applied that fix on top of all the others and re-built and booted
a "generic" kernel (using arch/ia64/defconfig) and a "sparse" kernel
(based on arch/ia64/configs/gensparse_defconfig).

Both booted just fine on my tiger, the memory amounts looked
a bit suspicious though ... as if you are reporting *all* the
memory in range for the zone, rather than the usable parts.

Diffing console log from the boot of a 2.6.17-rc1 generic
kernel against one with your patches the relevent bit is:

< On node 0 totalpages: 259873
<   DMA zone: 128931 pages, LIFO batch:7
<   Normal zone: 130942 pages, LIFO batch:7
---
> On node 0 totalpages: 262144
>   DMA zone: 131072 pages, LIFO batch:7
>   Normal zone: 131072 pages, LIFO batch:7

That's a very precise 4G total, split exactly 2G+2G between
DMA and normal zones.  Same thing for the sparse kernel
(though I didn't check what an unpatched kernel prints).

At the end I've put the console logs from a generic boot, a
generic boot with your patch, and finally a generic-sparse
boot with your patch.

-Tony


::::::::::::::
dmesg-gen
::::::::::::::
Linux version 2.6.17-rc1-generic-smp (aegl@linux-t10) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)) #1 SMP Thu Apr 13 14:28:18 PDT 2006
EFI v1.10 by INTEL: SALsystab=0x7fe54980 ACPI=0x7ff84000 ACPI 2.0=0x7ff83000 MPS=0x7ff82000 SMBIOS=0xf0000
booting generic kernel on platform dig
Early serial console at I/O port 0x2f8 (options '115200')
ACPI: RSDP (v002 INTEL                                 ) @ 0x000000007ff83000
ACPI: XSDT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83090
ACPI: FADT (v003 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83138
ACPI: MADT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83230
ACPI: DSDT (v001  Intel SR870BN4 0x00000000 MSFT 0x0100000d) @ 0x0000000000000000
Initial ramdisk at: 0xe0000001fedf7000 (1303563 bytes)
SAL 3.20: Intel Corp                       SR870BN4                         version 3.0
SAL Platform features: BusLock IRQ_Redirection
SAL: AP wakeup using external interrupt vector 0xf0
No logical to physical processor mapping available
iosapic_system_init: Disabling PC-AT compatible 8259 interrupts
ACPI: Local APIC address c0000000fee00000
PLATFORM int CPEI (0x3): GSI 22 (level, low) -> CPU 0 (0xc618) vector 30
register_intr: changing vector 39 from IO-SAPIC-edge to IO-SAPIC-level
4 CPUs available, 4 CPUs total
MCA related initialization done
Virtual mem_map starts at 0xa0007ffffe400000
On node 0 totalpages: 259873
  DMA zone: 128931 pages, LIFO batch:7
  Normal zone: 130942 pages, LIFO batch:7
SMP: Allowing 4 CPUs, 0 hotplug CPUs
Built 1 zonelists
Kernel command line: BOOT_IMAGE=scsi0:EFI\redhat\l-generic-smp.gz  root=LABEL=/ console=uart,io,0x2f8 ro
PID hash table entries: 4096 (order: 12, 32768 bytes)
CPU 0: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.255MHz
Console: colour VGA+ 80x25
Placing software IO TLB between 0x4c00000 - 0x8c00000
Memory: 4011344k/4157968k available (6923k code, 160256k reserved, 3388k data, 384k init)
McKinley Errata 9 workaround not needed; disabling it
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
Dentry cache hash table entries: 524288 (order: 8, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 7, 2097152 bytes)
Mount-cache hash table entries: 1024
Boot processor id 0x0/0xc618
Fixed BSP b0 value from CPU 1
CPU 1: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 1: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.255MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
CPU 2: synchronized ITC with CPU 0 (last diff 10 cycles, maxerr 593 cycles)
CPU 2: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.255MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
CPU 3: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 3: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.255MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
Brought up 4 CPUs
Total of 4 processors activated (10158.08 BogoMIPS).
migration_cost=9899
checking if image is initramfs... it is
Freeing initrd memory: 1264kB freed
DMI 2.3 present.
NET: Registered protocol family 16
ACPI: bus type pci registered
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOSAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0c00-0c7f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0500-053f claimed by ICH4 GPIO
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.H2PB._PRT]
ACPI: PCI Root Bridge [PCI1] (0000:02)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.P2PB._PRT]
ACPI: PCI Root Bridge [PCI3] (0000:09)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI3.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI3.P2PB._PRT]
ACPI: PCI Root Bridge [PCI4] (0000:0f)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI4.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI4.P2PB._PRT]
ACPI: Device [CSFF] status [00000008]: functional but not present; setting present
ACPI: PCI Root Bridge [CSFF] (0000:ff)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 12 devices
SCSI subsystem initialized
perfmon: version 2.0 IRQ 238
perfmon: Itanium 2 PMU detected, 16 PMCs, 18 PMDs, 4 counters (47 bits)
PAL Information Facility v0.5
perfmon: added sampling format default_format
perfmon_default_smpl: default_format v2.0 registered
Total HugeTLB memory allocated, 0
initcall at 0xa0000001007dc640: init_autofs4_fs+0x0/0x40(): returned with error code -16
SGI XFS with large block/inode numbers, no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
EFI Time Services Driver v0.4
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
00:07: ttyS0 at I/O 0x3f8 (irq = 44) is a 16550A
00:08: ttyS1 at I/O 0x2f8 (irq = 45) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Intel(R) PRO/1000 Network Driver - version 7.0.33-k2
Copyright (c) 1999-2005 Intel Corporation.
GSI 18 (level, low) -> CPU 0 (0xc618) vector 48
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 48
e1000: 0000:01:00.0: e1000_probe: (PCI:33MHz:32-bit) 00:03:47:fd:bb:42
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
netconsole: not configured, aborting
initcall at 0xa0000001007dfe60: init_netconsole+0x0/0x140(): returned with error code -22
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Device 0000:00:1f.1 not available because of resource collisions
ACPI: PCI Interrupt 0000:00:1f.1[A]: no GSI
ICH4: BIOS configuration fixed.
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x1008-0x100f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: MATSHITADVD-ROM SR-8177, ATAPI CD/DVD-ROM drive
hdb: LS-120/240 00 UHD Floppy, ATAPI FLOPPY drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 34
Probing IDE interface ide1...
hda: ATAPI 24X DVD-ROM drive, 256kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
hdb: No disk in drive
hdb: 234752kB, 262/32/56 CHS, 2995 kBps, 512 sector size, 1500 rpm
libata version 1.20 loaded.
Fusion MPT base driver 3.03.08
Copyright (c) 1999-2005 LSI Logic Corporation
Fusion MPT SPI Host driver 3.03.08
GSI 28 (level, low) -> CPU 1 (0xc218) vector 49
ACPI: PCI Interrupt 0000:06:02.0[A] -> GSI 28 (level, low) -> IRQ 49
mptbase: Initiating ioc0 bringup
ioc0: 53C1030: Capabilities={Initiator}
scsi0 : ioc0: LSI53C1030, FwRev=01030a00h, Ports=1, MaxQ=255, IRQ=49
  Vendor: QUANTUM   Model: ATLAS IV 9 SCA    Rev: 0B0B
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:0: Beginning Domain Validation
 target0:0:0: Domain Validation skipping write tests
 target0:0:0: Ending Domain Validation
 target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
sda: Write Protect is off
sda: Mode Sense: e3 00 10 08
SCSI device sda: drive cache: write back w/ FUA
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
sda: Write Protect is off
sda: Mode Sense: e3 00 10 08
SCSI device sda: drive cache: write back w/ FUA
 sda: sda1 sda2 sda3
sd 0:0:0:0: Attached scsi disk sda
  Vendor: SEAGATE   Model: ST318406LC        Rev: 010A
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:1: Beginning Domain Validation
 target0:0:1: Ending Domain Validation
 target0:0:1: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 63)
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
sdb: Write Protect is off
sdb: Mode Sense: 9f 00 10 08
SCSI device sdb: drive cache: write back w/ FUA
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
sdb: Write Protect is off
sdb: Mode Sense: 9f 00 10 08
SCSI device sdb: drive cache: write back w/ FUA
 sdb: sdb1 sdb2 sdb3
sd 0:0:1:0: Attached scsi disk sdb
  Vendor: ESG-SHV   Model: SCA HSBP M17      Rev: 1.0D
  Type:   Processor                          ANSI SCSI revision: 02
 target0:0:6: Beginning Domain Validation
 target0:0:6: Ending Domain Validation
 target0:0:6: asynchronous
GSI 29 (level, low) -> CPU 2 (0xc418) vector 50
ACPI: PCI Interrupt 0000:06:02.1[B] -> GSI 29 (level, low) -> IRQ 50
mptbase: Initiating ioc1 bringup
ioc1: 53C1030: Capabilities={Initiator}
scsi1 : ioc1: LSI53C1030, FwRev=01030a00h, Ports=1, MaxQ=255, IRQ=50
mice: PS/2 mouse device common for all mice
EFI Variables Facility v0.08 2004-May-17
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 6, 1048576 bytes)
TCP established hash table entries: 524288 (order: 9, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 6, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Adding console on ttyS1 at I/O port 0x2f8 (options '115200')
Freeing unused kernel memory: 384kB freed
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:1:0: Attached scsi generic sg1 type 0
 0:0:6:0: Attached scsi generic sg2 type 3
usbcore: registered new driver usbfs
usbcore: registered new driver hub
GSI 23 (level, low) -> CPU 3 (0xc018) vector 51
ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 51
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: debug port 1
PCI: slot 0000:00:1d.7 has incorrect PCI cache line size of 0 bytes, correcting to 128
ehci_hcd 0000:00:1d.7: irq 51, io mem 0xf9ff0000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
USB Universal Host Controller Interface driver v3.0
GSI 16 (level, low) -> CPU 0 (0xc618) vector 52
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 52
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 52, io base 0x00004cc0
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
GSI 19 (level, low) -> CPU 1 (0xc218) vector 53
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 53
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 53, io base 0x00004ce0
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
usb 2-1: new low speed USB device using uhci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
usb 2-2: new low speed USB device using uhci_hcd and address 3
usb 2-2: configuration #1 chosen from 1 choice
input: SOLIDTEK USB Composite Keyboard as /class/input/input0
input: USB HID v1.10 Keyboard [SOLIDTEK USB Composite Keyboard] on usb-0000:00:1d.0-1
input: SOLIDTEK USB Composite Keyboard as /class/input/input1
input: USB HID v1.10 Device [SOLIDTEK USB Composite Keyboard] on usb-0000:00:1d.0-1
input: HID 04b3:310b as /class/input/input2
input: USB HID v1.00 Mouse [HID 04b3:310b] on usb-0000:00:1d.0-2
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
ACPI: Power Button (FF) [PWRF]
EXT3 FS on sda2, internal journal
device-mapper: 4.6.0-ioctl (2006-02-17) initialised: dm-devel@redhat.com
hdb: No disk in drive
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sdb3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1700816k swap on /dev/sda3.  Priority:-1 extents:1 across:1700816k
e1000: eth0: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
::::::::::::::
dmesg-mel-generic
::::::::::::::
Linux version 2.6.17-rc1-generic-smp (aegl@linux-t10) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)) #1 SMP Thu Apr 13 13:43:50 PDT 2006
EFI v1.10 by INTEL: SALsystab=0x7fe54980 ACPI=0x7ff84000 ACPI 2.0=0x7ff83000 MPS=0x7ff82000 SMBIOS=0xf0000
booting generic kernel on platform dig
Early serial console at I/O port 0x2f8 (options '115200')
ACPI: RSDP (v002 INTEL                                 ) @ 0x000000007ff83000
ACPI: XSDT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83090
ACPI: FADT (v003 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83138
ACPI: MADT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83230
ACPI: DSDT (v001  Intel SR870BN4 0x00000000 MSFT 0x0100000d) @ 0x0000000000000000
Initial ramdisk at: 0xe0000001fedf7000 (1303561 bytes)
SAL 3.20: Intel Corp                       SR870BN4                         version 3.0
SAL Platform features: BusLock IRQ_Redirection
SAL: AP wakeup using external interrupt vector 0xf0
No logical to physical processor mapping available
iosapic_system_init: Disabling PC-AT compatible 8259 interrupts
ACPI: Local APIC address c0000000fee00000
PLATFORM int CPEI (0x3): GSI 22 (level, low) -> CPU 0 (0xc618) vector 30
register_intr: changing vector 39 from IO-SAPIC-edge to IO-SAPIC-level
4 CPUs available, 4 CPUs total
MCA related initialization done
add_active_range(0, 0, 4096): New
add_active_range(0, 0, 131072): Merging forward
add_active_range(0, 0, 131072): Existing
add_active_range(0, 393216, 523264): New
add_active_range(0, 393216, 523264): Existing
add_active_range(0, 393216, 524288): Merging forward
add_active_range(0, 393216, 524288): Existing
Virtual mem_map starts at 0xa0007ffffe400000
free_area_init_nodes(262144, 262144, 524288, 524288)
free_area_init_nodes(): find_min_pfn = 0
Dumping sorted node map
entry 0: 0  0 -> 131072
entry 1: 0  393216 -> 524288
Hole found index 1: 131072 -> 262144
Hole found index 1: 262144 -> 393216
On node 0 totalpages: 262144
Hole found index 1: 131072 -> 262144
  DMA zone: 131072 pages, LIFO batch:7
Hole found index 1: 262144 -> 393216
  Normal zone: 131072 pages, LIFO batch:7
SMP: Allowing 4 CPUs, 0 hotplug CPUs
Built 1 zonelists
Kernel command line: BOOT_IMAGE=scsi0:EFI\redhat\l-generic-smp.gz  root=LABEL=/ console=uart,io,0x2f8 ro
PID hash table entries: 4096 (order: 12, 32768 bytes)
CPU 0: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.254MHz
Console: colour VGA+ 80x25
Placing software IO TLB between 0x4c00000 - 0x8c00000
Memory: 4011344k/4157968k available (6923k code, 160256k reserved, 3388k data, 400k init)
McKinley Errata 9 workaround not needed; disabling it
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
Dentry cache hash table entries: 524288 (order: 8, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 7, 2097152 bytes)
Mount-cache hash table entries: 1024
Boot processor id 0x0/0xc618
Fixed BSP b0 value from CPU 1
CPU 1: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 1: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.254MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
CPU 2: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 2: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.254MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
CPU 3: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 3: base freq=199.441MHz, ITC ratio=17/2, ITC freq=1695.254MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
Brought up 4 CPUs
Total of 4 processors activated (10158.08 BogoMIPS).
migration_cost=9881
checking if image is initramfs... it is
Freeing initrd memory: 1264kB freed
DMI 2.3 present.
NET: Registered protocol family 16
ACPI: bus type pci registered
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOSAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0c00-0c7f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0500-053f claimed by ICH4 GPIO
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.H2PB._PRT]
ACPI: PCI Root Bridge [PCI1] (0000:02)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.P2PB._PRT]
ACPI: PCI Root Bridge [PCI3] (0000:09)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI3.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI3.P2PB._PRT]
ACPI: PCI Root Bridge [PCI4] (0000:0f)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI4.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI4.P2PB._PRT]
ACPI: Device [CSFF] status [00000008]: functional but not present; setting present
ACPI: PCI Root Bridge [CSFF] (0000:ff)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 12 devices
SCSI subsystem initialized
perfmon: version 2.0 IRQ 238
perfmon: Itanium 2 PMU detected, 16 PMCs, 18 PMDs, 4 counters (47 bits)
PAL Information Facility v0.5
perfmon: added sampling format default_format
perfmon_default_smpl: default_format v2.0 registered
Total HugeTLB memory allocated, 0
initcall at 0xa0000001007dd660: init_autofs4_fs+0x0/0x40(): returned with error code -16
SGI XFS with large block/inode numbers, no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
EFI Time Services Driver v0.4
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
00:07: ttyS0 at I/O 0x3f8 (irq = 44) is a 16550A
00:08: ttyS1 at I/O 0x2f8 (irq = 45) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Intel(R) PRO/1000 Network Driver - version 7.0.33-k2
Copyright (c) 1999-2005 Intel Corporation.
GSI 18 (level, low) -> CPU 0 (0xc618) vector 48
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 48
e1000: 0000:01:00.0: e1000_probe: (PCI:33MHz:32-bit) 00:03:47:fd:bb:42
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
netconsole: not configured, aborting
initcall at 0xa0000001007e0e70: init_netconsole+0x0/0x140(): returned with error code -22
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Device 0000:00:1f.1 not available because of resource collisions
ACPI: PCI Interrupt 0000:00:1f.1[A]: no GSI
ICH4: BIOS configuration fixed.
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x1008-0x100f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: MATSHITADVD-ROM SR-8177, ATAPI CD/DVD-ROM drive
hdb: LS-120/240 00 UHD Floppy, ATAPI FLOPPY drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 34
Probing IDE interface ide1...
hda: ATAPI 24X DVD-ROM drive, 256kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
hdb: No disk in drive
hdb: 234752kB, 262/32/56 CHS, 2995 kBps, 512 sector size, 1500 rpm
libata version 1.20 loaded.
Fusion MPT base driver 3.03.08
Copyright (c) 1999-2005 LSI Logic Corporation
Fusion MPT SPI Host driver 3.03.08
GSI 28 (level, low) -> CPU 1 (0xc018) vector 49
ACPI: PCI Interrupt 0000:06:02.0[A] -> GSI 28 (level, low) -> IRQ 49
mptbase: Initiating ioc0 bringup
ioc0: 53C1030: Capabilities={Initiator}
scsi0 : ioc0: LSI53C1030, FwRev=01030a00h, Ports=1, MaxQ=255, IRQ=49
  Vendor: QUANTUM   Model: ATLAS IV 9 SCA    Rev: 0B0B
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:0: Beginning Domain Validation
 target0:0:0: Domain Validation skipping write tests
 target0:0:0: Ending Domain Validation
 target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
sda: Write Protect is off
sda: Mode Sense: e3 00 10 08
SCSI device sda: drive cache: write back w/ FUA
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
sda: Write Protect is off
sda: Mode Sense: e3 00 10 08
SCSI device sda: drive cache: write back w/ FUA
 sda: sda1 sda2 sda3
sd 0:0:0:0: Attached scsi disk sda
  Vendor: SEAGATE   Model: ST318406LC        Rev: 010A
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:1: Beginning Domain Validation
 target0:0:1: Ending Domain Validation
 target0:0:1: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 63)
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
sdb: Write Protect is off
sdb: Mode Sense: 9f 00 10 08
SCSI device sdb: drive cache: write back w/ FUA
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
sdb: Write Protect is off
sdb: Mode Sense: 9f 00 10 08
SCSI device sdb: drive cache: write back w/ FUA
 sdb: sdb1 sdb2 sdb3
sd 0:0:1:0: Attached scsi disk sdb
  Vendor: ESG-SHV   Model: SCA HSBP M17      Rev: 1.0D
  Type:   Processor                          ANSI SCSI revision: 02
 target0:0:6: Beginning Domain Validation
 target0:0:6: Ending Domain Validation
 target0:0:6: asynchronous
GSI 29 (level, low) -> CPU 2 (0xc218) vector 50
ACPI: PCI Interrupt 0000:06:02.1[B] -> GSI 29 (level, low) -> IRQ 50
mptbase: Initiating ioc1 bringup
ioc1: 53C1030: Capabilities={Initiator}
scsi1 : ioc1: LSI53C1030, FwRev=01030a00h, Ports=1, MaxQ=255, IRQ=50
mice: PS/2 mouse device common for all mice
EFI Variables Facility v0.08 2004-May-17
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 6, 1048576 bytes)
TCP established hash table entries: 524288 (order: 9, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 6, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Adding console on ttyS1 at I/O port 0x2f8 (options '115200')
Freeing unused kernel memory: 400kB freed
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:1:0: Attached scsi generic sg1 type 0
 0:0:6:0: Attached scsi generic sg2 type 3
usbcore: registered new driver usbfs
usbcore: registered new driver hub
GSI 23 (level, low) -> CPU 3 (0xc418) vector 51
ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 51
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: debug port 1
PCI: slot 0000:00:1d.7 has incorrect PCI cache line size of 0 bytes, correcting to 128
ehci_hcd 0000:00:1d.7: irq 51, io mem 0xf9ff0000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
USB Universal Host Controller Interface driver v3.0
GSI 16 (level, low) -> CPU 0 (0xc618) vector 52
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 52
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 52, io base 0x00004cc0
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
GSI 19 (level, low) -> CPU 1 (0xc018) vector 53
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 53
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 53, io base 0x00004ce0
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
usb 2-1: new low speed USB device using uhci_hcd and address 2
ACPI: Power Button (FF) [PWRF]
usb 2-1: configuration #1 chosen from 1 choice
usb 2-2: new low speed USB device using uhci_hcd and address 3
usb 2-2: configuration #1 chosen from 1 choice
input: SOLIDTEK USB Composite Keyboard as /class/input/input0
input: USB HID v1.10 Keyboard [SOLIDTEK USB Composite Keyboard] on usb-0000:00:1d.0-1
input: SOLIDTEK USB Composite Keyboard as /class/input/input1
input: USB HID v1.10 Device [SOLIDTEK USB Composite Keyboard] on usb-0000:00:1d.0-1
input: HID 04b3:310b as /class/input/input2
input: USB HID v1.00 Mouse [HID 04b3:310b] on usb-0000:00:1d.0-2
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
EXT3 FS on sda2, internal journal
device-mapper: 4.6.0-ioctl (2006-02-17) initialised: dm-devel@redhat.com
hdb: No disk in drive
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sdb3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1700816k swap on /dev/sda3.  Priority:-1 extents:1 across:1700816k
e1000: eth0: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
::::::::::::::
dmesg-mel-gensparse
::::::::::::::
Linux version 2.6.17-rc1-generic-sparse (aegl@linux-t10) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)) #1 SMP Thu Apr 13 13:48:09 PDT 2006
EFI v1.10 by INTEL: SALsystab=0x7fe54980 ACPI=0x7ff84000 ACPI 2.0=0x7ff83000 MPS=0x7ff82000 SMBIOS=0xf0000
booting generic kernel on platform dig
Early serial console at I/O port 0x2f8 (options '115200')
ACPI: RSDP (v002 INTEL                                 ) @ 0x000000007ff83000
ACPI: XSDT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83090
ACPI: FADT (v003 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83138
ACPI: MADT (v001 INTEL  SR870BN4 0x01072002 MSFT 0x00010013) @ 0x000000007ff83230
ACPI: DSDT (v001  Intel SR870BN4 0x00000000 MSFT 0x0100000d) @ 0x0000000000000000
Initial ramdisk at: 0xe0000001fedf7000 (1303578 bytes)
SAL 3.20: Intel Corp                       SR870BN4                         version 3.0
SAL Platform features: BusLock IRQ_Redirection
SAL: AP wakeup using external interrupt vector 0xf0
No logical to physical processor mapping available
iosapic_system_init: Disabling PC-AT compatible 8259 interrupts
ACPI: Local APIC address c0000000fee00000
PLATFORM int CPEI (0x3): GSI 22 (level, low) -> CPU 0 (0xc618) vector 30
register_intr: changing vector 39 from IO-SAPIC-edge to IO-SAPIC-level
4 CPUs available, 4 CPUs total
MCA related initialization done
add_active_range(0, 0, 4096): New
add_active_range(0, 0, 131072): Merging forward
add_active_range(0, 0, 131072): Existing
add_active_range(0, 393216, 523264): New
add_active_range(0, 393216, 523264): Existing
add_active_range(0, 393216, 524288): Merging forward
add_active_range(0, 393216, 524288): Existing
free_area_init_nodes(262144, 262144, 524288, 524288)
free_area_init_nodes(): find_min_pfn = 0
Dumping sorted node map
entry 0: 0  0 -> 131072
entry 1: 0  393216 -> 524288
Hole found index 1: 131072 -> 262144
Hole found index 1: 262144 -> 393216
On node 0 totalpages: 262144
Hole found index 1: 131072 -> 262144
  DMA zone: 131072 pages, LIFO batch:7
Hole found index 1: 262144 -> 393216
  Normal zone: 131072 pages, LIFO batch:7
SMP: Allowing 4 CPUs, 0 hotplug CPUs
Built 1 zonelists
Kernel command line: BOOT_IMAGE=scsi0:EFI\redhat\l-generic-sparse.gz  root=LABEL=/ console=uart,io,0x2f8 ro
PID hash table entries: 4096 (order: 12, 32768 bytes)
CPU 0: base freq=199.442MHz, ITC ratio=17/2, ITC freq=1695.257MHz
Console: colour VGA+ 80x25
Placing software IO TLB between 0x4c14000 - 0x8c14000
Memory: 4011232k/4157888k available (6984k code, 160368k reserved, 3394k data, 400k init)
McKinley Errata 9 workaround not needed; disabling it
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
Dentry cache hash table entries: 524288 (order: 8, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 7, 2097152 bytes)
Mount-cache hash table entries: 1024
Boot processor id 0x0/0xc618
Fixed BSP b0 value from CPU 1
CPU 1: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 1: base freq=199.442MHz, ITC ratio=17/2, ITC freq=1695.257MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
CPU 2: synchronized ITC with CPU 0 (last diff 10 cycles, maxerr 593 cycles)
CPU 2: base freq=199.442MHz, ITC ratio=17/2, ITC freq=1695.257MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
CPU 3: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 3: base freq=199.442MHz, ITC ratio=17/2, ITC freq=1695.257MHz
Calibrating delay loop... 2539.52 BogoMIPS (lpj=5079040)
Brought up 4 CPUs
Total of 4 processors activated (10158.08 BogoMIPS).
migration_cost=9992
checking if image is initramfs... it is
Freeing initrd memory: 1264kB freed
DMI 2.3 present.
NET: Registered protocol family 16
ACPI: bus type pci registered
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOSAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0c00-0c7f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0500-053f claimed by ICH4 GPIO
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.H2PB._PRT]
ACPI: PCI Root Bridge [PCI1] (0000:02)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI1.P2PB._PRT]
ACPI: PCI Root Bridge [PCI3] (0000:09)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI3.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI3.P2PB._PRT]
ACPI: PCI Root Bridge [PCI4] (0000:0f)
ACPI: PCI Interrupt Routing Table [\_SB_.PCI4.P2PA._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI4.P2PB._PRT]
ACPI: Device [CSFF] status [00000008]: functional but not present; setting present
ACPI: PCI Root Bridge [CSFF] (0000:ff)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 12 devices
SCSI subsystem initialized
perfmon: version 2.0 IRQ 238
perfmon: Itanium 2 PMU detected, 16 PMCs, 18 PMDs, 4 counters (47 bits)
PAL Information Facility v0.5
perfmon: added sampling format default_format
perfmon_default_smpl: default_format v2.0 registered
Total HugeTLB memory allocated, 0
initcall at 0xa0000001007ed860: init_autofs4_fs+0x0/0x40(): returned with error code -16
SGI XFS with large block/inode numbers, no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
EFI Time Services Driver v0.4
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
00:07: ttyS0 at I/O 0x3f8 (irq = 44) is a 16550A
00:08: ttyS1 at I/O 0x2f8 (irq = 45) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Intel(R) PRO/1000 Network Driver - version 7.0.33-k2
Copyright (c) 1999-2005 Intel Corporation.
GSI 18 (level, low) -> CPU 0 (0xc618) vector 48
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 18 (level, low) -> IRQ 48
e1000: 0000:01:00.0: e1000_probe: (PCI:33MHz:32-bit) 00:03:47:fd:bb:42
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
netconsole: not configured, aborting
initcall at 0xa0000001007edaf0: init_netconsole+0x0/0x140(): returned with error code -22
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Device 0000:00:1f.1 not available because of resource collisions
ACPI: PCI Interrupt 0000:00:1f.1[A]: no GSI
ICH4: BIOS configuration fixed.
ICH4: chipset revision 1
ICH4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0x1008-0x100f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: MATSHITADVD-ROM SR-8177, ATAPI CD/DVD-ROM drive
hdb: LS-120/240 00 UHD Floppy, ATAPI FLOPPY drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 34
Probing IDE interface ide1...
Probing IDE interface ide1...
Probing IDE interface ide2...
Probing IDE interface ide3...
hda: ATAPI 24X DVD-ROM drive, 256kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ide-floppy driver 0.99.newide
hdb: No disk in drive
hdb: 234752kB, 262/32/56 CHS, 2995 kBps, 512 sector size, 1500 rpm
libata version 1.20 loaded.
Fusion MPT base driver 3.03.08
Copyright (c) 1999-2005 LSI Logic Corporation
Fusion MPT SPI Host driver 3.03.08
GSI 28 (level, low) -> CPU 1 (0xc018) vector 49
ACPI: PCI Interrupt 0000:06:02.0[A] -> GSI 28 (level, low) -> IRQ 49
mptbase: Initiating ioc0 bringup
ioc0: 53C1030: Capabilities={Initiator}
scsi0 : ioc0: LSI53C1030, FwRev=01030a00h, Ports=1, MaxQ=255, IRQ=49
  Vendor: QUANTUM   Model: ATLAS IV 9 SCA    Rev: 0B0B
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:0: Beginning Domain Validation
 target0:0:0: Domain Validation skipping write tests
 target0:0:0: Ending Domain Validation
 target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
sda: Write Protect is off
sda: Mode Sense: e3 00 10 08
SCSI device sda: drive cache: write back w/ FUA
SCSI device sda: 17942584 512-byte hdwr sectors (9187 MB)
sda: Write Protect is off
sda: Mode Sense: e3 00 10 08
SCSI device sda: drive cache: write back w/ FUA
 sda: sda1 sda2 sda3
sd 0:0:0:0: Attached scsi disk sda
  Vendor: SEAGATE   Model: ST318406LC        Rev: 010A
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:1: Beginning Domain Validation
 target0:0:1: Ending Domain Validation
 target0:0:1: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 63)
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
sdb: Write Protect is off
sdb: Mode Sense: 9f 00 10 08
SCSI device sdb: drive cache: write back w/ FUA
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
sdb: Write Protect is off
sdb: Mode Sense: 9f 00 10 08
SCSI device sdb: drive cache: write back w/ FUA
 sdb: sdb1 sdb2 sdb3
sd 0:0:1:0: Attached scsi disk sdb
  Vendor: ESG-SHV   Model: SCA HSBP M17      Rev: 1.0D
  Type:   Processor                          ANSI SCSI revision: 02
 target0:0:6: Beginning Domain Validation
 target0:0:6: Ending Domain Validation
 target0:0:6: asynchronous
GSI 29 (level, low) -> CPU 2 (0xc218) vector 50
ACPI: PCI Interrupt 0000:06:02.1[B] -> GSI 29 (level, low) -> IRQ 50
mptbase: Initiating ioc1 bringup
ioc1: 53C1030: Capabilities={Initiator}
scsi1 : ioc1: LSI53C1030, FwRev=01030a00h, Ports=1, MaxQ=255, IRQ=50
mice: PS/2 mouse device common for all mice
EFI Variables Facility v0.08 2004-May-17
NET: Registered protocol family 2
IP route cache hash table entries: 131072 (order: 6, 1048576 bytes)
TCP established hash table entries: 524288 (order: 9, 8388608 bytes)
TCP bind hash table entries: 65536 (order: 6, 1048576 bytes)
TCP: Hash tables configured (established 524288 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Adding console on ttyS1 at I/O port 0x2f8 (options '115200')
Freeing unused kernel memory: 400kB freed
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:1:0: Attached scsi generic sg1 type 0
 0:0:6:0: Attached scsi generic sg2 type 3
usbcore: registered new driver usbfs
usbcore: registered new driver hub
GSI 23 (level, low) -> CPU 3 (0xc418) vector 51
ACPI: PCI Interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 51
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:1d.7: debug port 1
PCI: slot 0000:00:1d.7 has incorrect PCI cache line size of 0 bytes, correcting to 128
ehci_hcd 0000:00:1d.7: irq 51, io mem 0xf9ff0000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 4 ports detected
USB Universal Host Controller Interface driver v3.0
GSI 16 (level, low) -> CPU 0 (0xc618) vector 52
ACPI: PCI Interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 52
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.0: irq 52, io base 0x00004cc0
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
GSI 19 (level, low) -> CPU 1 (0xc018) vector 53
ACPI: PCI Interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 53
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: irq 53, io base 0x00004ce0
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
usb 2-1: new low speed USB device using uhci_hcd and address 2
ACPI: Power Button (FF) [PWRF]
usb 2-1: configuration #1 chosen from 1 choice
usb 2-2: new low speed USB device using uhci_hcd and address 3
usb 2-2: configuration #1 chosen from 1 choice
input: SOLIDTEK USB Composite Keyboard as /class/input/input0
input: USB HID v1.10 Keyboard [SOLIDTEK USB Composite Keyboard] on usb-0000:00:1d.0-1
input: SOLIDTEK USB Composite Keyboard as /class/input/input1
input: USB HID v1.10 Device [SOLIDTEK USB Composite Keyboard] on usb-0000:00:1d.0-1
input: HID 04b3:310b as /class/input/input2
input: USB HID v1.00 Mouse [HID 04b3:310b] on usb-0000:00:1d.0-2
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
EXT3 FS on sda2, internal journal
device-mapper: 4.6.0-ioctl (2006-02-17) initialised: dm-devel@redhat.com
hdb: No disk in drive
kjournald starting.  Commit interval 5 seconds
EXT3 FS on sdb3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1700816k swap on /dev/sda3.  Priority:-1 extents:1 across:1700816k
e1000: eth0: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex

^ permalink raw reply

* Re: 7447A strange problem with MSR:POW (WAS: can't boot 2.6.17-rc1)
From: Becky Bruce @ 2006-04-13 21:46 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: linuxppc-dev list, Michael Schmitz, debian-powerpc,
	Paul Mackerras
In-Reply-To: <1144961737.4935.28.camel@localhost.localdomain>


On Apr 13, 2006, at 3:55 PM, Benjamin Herrenschmidt wrote:

>
>>
>> The above code should really look like this:
>>
>>          mfmsr   r7
>>          ori     r7,r7,MSR_EE
>>          oris    r7,r7,MSR_POW@h
>>          sync
>>          isync
>>          mtmsr   r7
>>          isync
>> label:
>>          b label
>> 	blr
>
> Ohhh ... we always assumed mtmsr with MSR_POW was
> immediate/synchronous ! That explains a lot. The problem with the  
> above
> though is that we'll never get out unless we also hack the exception
> path to change the return address once an exception happens. It's not
> that difficult especially since we already have a special case to  
> handle
> returning from NAP there, on ppc32 at least. ppc64 will need a bit  
> more
> investigation.
>

Agreed, this is yuck :(

> Do you see another way to loop until NAP has gone ? Maybe reading  
> msr in
> a loop until POW gets cleared would do the trick ?

So, it makes sense to me that this would work, but I suspect there  
may be hardware wierdness - the user manual is very specific about  
the code sequence that should be used (although I've given you a  
slightly different sequence in my last mail that is also known to  
work and is cleaner, IMHO).  Let me check with one of our HW  
designers to see if this is OK.  It might be tomorrow before I have  
an answer - it's after 4:30 here and some of them are early birds,  
and might have already left for the day.

FYI, the user's manual recommends this sequence:
loop:
       sync
       mtmsr POW
       isync
       b     loop

>
>> Hope this helps - I don't have hardware to test this on, so I can't
>> be sure, but it seems to explain the behavior you're seeing if I'm
>> understanding the problem correctly.
>
> It definitely does ! Thanks a lot.
>

NP.

Cheers!
-B

^ permalink raw reply

* Re: 7447A strange problem with MSR:POW (WAS: can't boot 2.6.17-rc1)
From: Benjamin Herrenschmidt @ 2006-04-13 20:55 UTC (permalink / raw)
  To: Becky Bruce
  Cc: linuxppc-dev list, Michael Schmitz, debian-powerpc,
	Paul Mackerras
In-Reply-To: <21F7D7D8-B9BC-44EB-B07B-F888D89DCF25@freescale.com>


> 
> The above code should really look like this:
> 
>          mfmsr   r7
>          ori     r7,r7,MSR_EE
>          oris    r7,r7,MSR_POW@h
>          sync
>          isync
>          mtmsr   r7
>          isync
> label:
>          b label
> 	blr

Ohhh ... we always assumed mtmsr with MSR_POW was
immediate/synchronous ! That explains a lot. The problem with the above
though is that we'll never get out unless we also hack the exception
path to change the return address once an exception happens. It's not
that difficult especially since we already have a special case to handle
returning from NAP there, on ppc32 at least. ppc64 will need a bit more
investigation.

Do you see another way to loop until NAP has gone ? Maybe reading msr in
a loop until POW gets cleared would do the trick ?

> Hope this helps - I don't have hardware to test this on, so I can't  
> be sure, but it seems to explain the behavior you're seeing if I'm  
> understanding the problem correctly.

It definitely does ! Thanks a lot.

Ben.

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Benjamin Herrenschmidt @ 2006-04-13 20:52 UTC (permalink / raw)
  To: Muli Ben-Yehuda; +Cc: Olof Johansson, linuxppc-dev, paulus, linux-kernel
In-Reply-To: <20060413173121.GJ10412@granada.merseine.nu>

On Thu, 2006-04-13 at 20:31 +0300, Muli Ben-Yehuda wrote:
> On Thu, Apr 13, 2006 at 11:07:12AM -0500, Olof Johansson wrote:
> 
> > Walking the DT means we need to hardcode it on PCI IDs, since the Apple
> > OF doesn't give the Airport device a logical name. It's probably easier
> > to implement than walking PCI, but we'd need to maintain a table. My
> > vote is for PCI walking, I'll give that a shot over the weekend.
> 
> Cool! bonus points if you do it in drivers/pci and we can steal it
> easily for Calgary on x8-64 :-)

How so ? Anything remotely related to the iommu is totally different...
Besides, on x86-64, laptops _are_ more common, and thus the problem of
cardbus cards is much more significant.

Ben.

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Benjamin Herrenschmidt @ 2006-04-13 20:51 UTC (permalink / raw)
  To: Olof Johansson; +Cc: linuxppc-dev, paulus, linux-kernel
In-Reply-To: <20060413160712.GG24769@pb15.lixom.net>

On Thu, 2006-04-13 at 11:07 -0500, Olof Johansson wrote:
> On Thu, Apr 13, 2006 at 08:45:49PM +1000, Benjamin Herrenschmidt wrote:
> > On Thu, 2006-04-13 at 09:40 +0300, Muli Ben-Yehuda wrote:
> > > On Wed, Apr 12, 2006 at 09:52:33PM -0500, Olof Johansson wrote:
> > > 
> > > > iommu=off can still be used for those who don't want to deal with the
> > > > overhead (and don't need it for any devices).
> > > 
> > > I've been pondering walking the PCI bus before deciding to enable an
> > > IOMMU and checking each device's DMA mask. Is this something that you
> > > considered and rejected, or just something no one got around to doing?
> > 
> > It would do the trick for airport cards in G5s.. a little bit of OF
> > walking to find the card.
> 
> Walking the DT means we need to hardcode it on PCI IDs, since the Apple
> OF doesn't give the Airport device a logical name. It's probably easier
> to implement than walking PCI, but we'd need to maintain a table. My
> vote is for PCI walking, I'll give that a shot over the weekend.

PCI walking it soo late to decide wether to enable the DART no ? In any
case, we need a table, so I wouldn't bother with PCI walking here.
Anyway... we should be able to have almost no perf. degradation or even
an improvement with the DART thanks to virtual merging. Currently, we
pay a cost due to our stupid invalidate mecanism that we should really
fix by shooting the TLB directly. Also have you made sure all your
additions for handling crappy hardware are nicely wrapped in unlikely()
statements ? :)

> > It won't help with cardbus broadcom's but then, there is currently no G5
> > with a cardbus adaptor that I know of :) It's possible I suppose to get
> > a pci<->cardbus adapter but I suppose in that case, we can ignore it ...
> 
> Yep, that should be rare enough.

^ permalink raw reply

* Re: 7447A strange problem with MSR:POW (WAS: can't boot 2.6.17-rc1)
From: Becky Bruce @ 2006-04-13 20:46 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: linuxppc-dev list, Michael Schmitz, debian-powerpc,
	Paul Mackerras
In-Reply-To: <1144923633.4935.11.camel@localhost.localdomain>


On Apr 13, 2006, at 5:20 AM, Benjamin Herrenschmidt wrote:

> (For those who haven't followed the beginning, current git locks up at
> boot on most recent powermacs. It was tracked down to a weird problem
> with the idle code. My latest experiments seem to show something dodgy
> with MSR_POW). Help from Freescale folks would be appreciated.
>

Ben, I think I know what the problem is - comments below.

> On Sat, 2006-04-08 at 12:55 +1000, Paul Mackerras wrote:
>
>> This patch fixes it for me on my powerbook (1.5GHz albook).  The  
>> issue
>> seems to be that the cpu objects to HID0_NAP being cleared in HID0.
>> If I have this code power_save_6xx_restore, it hangs:
>>
>> _GLOBAL(power_save_6xx_restore)
>> 	mfspr	r11,SPRN_HID0
>> 	rlwinm	r11,r11,0,10,8		/* Clear NAP */
>> 	mtspr	SPRN_HID0,r11
>> 	b	transfer_to_handler_cont
>>
>> If I take out that rlwinm, it boots.  Bizaare.
>
> If you do that, you cause the transfer_to_handler to always call
> power_save_6xx_restore even when not coming back from idle.
>
> I did a bit more tracking and it's very strange.... At first, I
> discovered that adding a printk after the call to power_save fixed  
> it. I
> did all sort of tests and if my memory serves me well, a simple mb()
> there will fix it too. In fact, what I noticed is that if I do
>
>  if (mfmsr() & MSR_POW)
> 	printk("GACK !\n");
>
> After calling ppc_md.power_save() and before local_irq_enable(), it  
> does
> trigger ! But with an mb() just before, it doesn't. In fact, you don't
> need an mb()... all you need is another mfmsr(). Thus a dummy msmsr()
> "fixes" the stale MSR_POW in there.
>
> That is very dodgy. Looks like we get a stale MSR_POW upon return from
> the exception that interrupted sleep, causing the next
> local_irq_enable() to block forever.

Actually, I think the problem is that the code linux is using to turn  
on nap mode is not guaranteed to put the processor in nap mode by the  
time the blr in ppc6xx_idle occurs.

This is at the bottom of ppc6xx_idle:

         mfmsr   r7
         ori     r7,r7,MSR_EE
         oris    r7,r7,MSR_POW@h
         sync
         isync
         mtmsr   r7
         isync
         sync
         blr

Unfortunately, NAP mode does not necessarily fully take effect for  
some number of cycles after the mtmsr, and the sync isn't enough to  
guarantee this.  So it's entirely possible that you execute the blr  
and carry on with the next function, which is local_irq_enable (or  
perhaps a MSR read in the case of your test code) which is going see  
the MSR value with POW set because you haven't started napping yet.

The above code should really look like this:

         mfmsr   r7
         ori     r7,r7,MSR_EE
         oris    r7,r7,MSR_POW@h
         sync
         isync
         mtmsr   r7
         isync
label:
         b label
	blr

>
> The next question is how does it get there... my idea at first was  
> that
> we get MSR_POW in SRR1 in that exception and put it back in with rfi
> (and the CPU gets it that way instead of ignoring it). Sounds like a
> lovely explanation if we also add that a sync or an mfmsr "clears"  
> this
> weird condition. However, I added clearing of MSR_POW in r9 in
> EXCEPTION_PROLOG_2() and it didn't fix it (but maybe I did something
> wrong, I was tired).

This wouldn't help - MSR[POW] is cleared on exception and is not a  
bit that is saved in SRR1.

Hope this helps - I don't have hardware to test this on, so I can't  
be sure, but it seems to explain the behavior you're seeing if I'm  
understanding the problem correctly.

Cheers,
Becky

^ permalink raw reply

* Re: Freescale 8272ADS configuration
From: Wolfgang Denk @ 2006-04-13 19:20 UTC (permalink / raw)
  To: Alex Zeffertt; +Cc: linuxppc-embedded
In-Reply-To: <20060413093620.10a0dadb.ajz@cambridgebroadband.com>

In message <20060413093620.10a0dadb.ajz@cambridgebroadband.com> you wrote:
> 
> And most importantly you should read the user manual on 
> 
> 	http://www.denx.de/wiki/DULG/Manual
> 
> It's a bit 8xx centric but most of it applies to the 82xx as well.

There are also versions for other processors, like MPC5200, MPC834x,
MPC85xx, PPC405 and PPC440; see
http://www.denx.de/wiki/DULG/BoardSelect

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Any sufficiently advanced bug is indistinguishable from a feature.
                                                      - Rich Kulawiec

^ permalink raw reply

* Re: [PATCH 0/7] [RFC] Sizing zones and holes in an architecture independent manner V2
From: Mel Gorman @ 2006-04-13 19:14 UTC (permalink / raw)
  To: Luck, Tony; +Cc: davej, linuxppc-dev, ak, bob.picco, linux-kernel, linux-mm
In-Reply-To: <20060413174720.GA15183@agluck-lia64.sc.intel.com>

On (13/04/06 10:47), Luck, Tony didst pronounce:
> > Double counted a hole here, then went downhill. Does the following fix
> > it?
> 
> Yes, that boots.  What's more the counts of pages in DMA/Normal
> zone match the kernel w/o your patches too.  So for tiger_defconfig
> you've now exactly matched the old behaivour.
> 

Very very cool. Thanks for persisting.

> I'll try to test generic and sparse kernels later, but I have to
> look at another issue now.
> 

When you get around to it later, there is one case you may hit that Bob
Picco encountered and fixed for me. It's where a "new" range is registered
that is inside an existing area; e.g.

add_active_range:    0->10000
add_active_range: 9800->10000

It ends up merging incorrectly and you end up with one region from
9800-10000. The fix is below. 

diff -rup -X /usr/src/patchset-0.5/bin//dontdiff linux-2.6.17-rc1-zonesizing-v6/mm/mem_init.c linux-2.6.17-rc1-107-debug/mm/mem_init.c
--- linux-2.6.17-rc1-zonesizing-v6/mm/mem_init.c	2006-04-13 10:30:50.000000000 +0100
+++ linux-2.6.17-rc1-107-debug/mm/mem_init.c	2006-04-13 18:39:24.000000000 +0100
@@ -922,6 +926,13 @@ void __init add_active_range(unsigned in
 		if (early_node_map[i].nid != nid)
 			continue;
 
+		/* Skip if an existing region covers this new one */
+		if (start_pfn >= early_node_map[i].start_pfn &&
+				end_pfn <= early_node_map[i].end_pfn) {
+			printk("Existing\n");
+			return;
+		}
+
 		/* Merge forward if suitable */
 		if (start_pfn <= early_node_map[i].end_pfn &&
 				end_pfn > early_node_map[i].end_pfn) {

^ permalink raw reply

* Re: [PATCH 0/7] [RFC] Sizing zones and holes in an architecture independent manner V2
From: Luck, Tony @ 2006-04-13 17:47 UTC (permalink / raw)
  To: Mel Gorman; +Cc: davej, linuxppc-dev, ak, bob.picco, linux-kernel, linux-mm
In-Reply-To: <20060413173008.GA19402@skynet.ie>

> Double counted a hole here, then went downhill. Does the following fix
> it?

Yes, that boots.  What's more the counts of pages in DMA/Normal
zone match the kernel w/o your patches too.  So for tiger_defconfig
you've now exactly matched the old behaivour.

I'll try to test generic and sparse kernels later, but I have to
look at another issue now.

-Tony

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Muli Ben-Yehuda @ 2006-04-13 17:31 UTC (permalink / raw)
  To: Olof Johansson; +Cc: paulus, linux-kernel, linuxppc-dev
In-Reply-To: <20060413160712.GG24769@pb15.lixom.net>

On Thu, Apr 13, 2006 at 11:07:12AM -0500, Olof Johansson wrote:

> Walking the DT means we need to hardcode it on PCI IDs, since the Apple
> OF doesn't give the Airport device a logical name. It's probably easier
> to implement than walking PCI, but we'd need to maintain a table. My
> vote is for PCI walking, I'll give that a shot over the weekend.

Cool! bonus points if you do it in drivers/pci and we can steal it
easily for Calgary on x8-64 :-)

Cheers,
Muli
-- 
Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/

^ permalink raw reply

* Re: [PATCH 0/7] [RFC] Sizing zones and holes in an architecture independent manner V2
From: Mel Gorman @ 2006-04-13 17:30 UTC (permalink / raw)
  To: Luck, Tony; +Cc: davej, linuxppc-dev, ak, bob.picco, linux-kernel, linux-mm
In-Reply-To: <20060413171942.GA15047@agluck-lia64.sc.intel.com>

On (13/04/06 10:19), Luck, Tony didst pronounce:
> On Thu, Apr 13, 2006 at 10:52:08AM +0100, Mel Gorman wrote:
> > I didn't look at the test program output carefully enough! There was a
> > double counting of some holes because of a missing "if" - obvious in the
> > morning. Fix is this (applies on top of the debugging patch)
> 
> Back to not booting with tiger_defconfig on Intel Tiger box :-(
> 
> There are no lines like:
> 
> 	On node 0 totalpages: 260725
> 	  DMA zone: 129700 pages, LIFO batch:7
> 	  Normal zone: 131025 pages, LIFO batch:7
> 
> in the log ... which might explain the OOM later.
> 
> Whole console log appended (The "Kill process 2" messages repeat
> forever).
> 
> -Tony
> 
> 
> <SNIP>
> Dumping sorted node map
> entry 0: 0  1024 -> 130688
> entry 1: 0  130984 -> 131020
> entry 2: 0  393216 -> 524164
> entry 3: 0  524192 -> 524269
> Hole found index 1: 130688 -> 130984
> Hole found index 2: 131020 -> 262144
> Hole found index 2: 131020 -> 393216

Double counted a hole here, then went downhill. Does the following fix
it?


diff -rup -X /usr/src/patchset-0.5/bin//dontdiff linux-2.6.17-rc1-zonesizing-v6/mm/mem_init.c linux-2.6.17-rc1-107-debug/mm/mem_init.c
--- linux-2.6.17-rc1-zonesizing-v6/mm/mem_init.c	2006-04-13 10:30:50.000000000 +0100
+++ linux-2.6.17-rc1-107-debug/mm/mem_init.c	2006-04-13 18:00:39.000000000 +0100
@@ -753,17 +753,21 @@ unsigned long __init zone_absent_pages_i
 		start_pfn = early_node_map[i].start_pfn;
 		if (start_pfn > arch_zone_highest_possible_pfn[zone_type])
 			start_pfn = arch_zone_highest_possible_pfn[zone_type];
-		if (prev_end_pfn > start_pfn) {
-			printk("prev_end > start_pfn : %lu > %lu\n",
-					prev_end_pfn,
-					start_pfn);
-			BUG();
-		}
+		if (prev_end_pfn < arch_zone_lowest_possible_pfn[zone_type])
+			prev_end_pfn = arch_zone_lowest_possible_pfn[zone_type];
 
 		/* Update the hole size cound and move on */
-		hole_pages += start_pfn - prev_end_pfn;
-		printk("Hole found index %d: %lu -> %lu\n",
-				i, prev_end_pfn, start_pfn);
+		if (start_pfn > arch_zone_lowest_possible_pfn[zone_type]) {
+			if (prev_end_pfn > start_pfn) {
+				printk("prev_end > start_pfn : %lu > %lu\n",
+						prev_end_pfn,
+						start_pfn);
+				BUG();
+			}
+			hole_pages += start_pfn - prev_end_pfn;
+			printk("Hole found index %d: %lu -> %lu\n",
+					i, prev_end_pfn, start_pfn);
+		}
 		prev_end_pfn = early_node_map[i].end_pfn;
 	}
 

^ permalink raw reply

* Re: [PATCH 0/7] [RFC] Sizing zones and holes in an architecture independent manner V2
From: Luck, Tony @ 2006-04-13 17:19 UTC (permalink / raw)
  To: Mel Gorman; +Cc: davej, linuxppc-dev, ak, bob.picco, linux-kernel, linux-mm
In-Reply-To: <20060413095207.GA4047@skynet.ie>

On Thu, Apr 13, 2006 at 10:52:08AM +0100, Mel Gorman wrote:
> I didn't look at the test program output carefully enough! There was a
> double counting of some holes because of a missing "if" - obvious in the
> morning. Fix is this (applies on top of the debugging patch)

Back to not booting with tiger_defconfig on Intel Tiger box :-(

There are no lines like:

	On node 0 totalpages: 260725
	  DMA zone: 129700 pages, LIFO batch:7
	  Normal zone: 131025 pages, LIFO batch:7

in the log ... which might explain the OOM later.

Whole console log appended (The "Kill process 2" messages repeat
forever).

-Tony


Linux version 2.6.17-rc1-tiger-smpxx (aegl@linux-t10) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22.1)) #2 SMP Thu Apr 13 09:54:33 PDT 2006
EFI v1.10 by INTEL: SALsystab=0x7fe54980 ACPI=0x7ff84000 ACPI 2.0=0x7ff83000 MPS=0x7ff82000 SMBIOS=0xf0000
Early serial console at I/O port 0x2f8 (options '115200')
Initial ramdisk at: 0xe0000001fedf5000 (1303557 bytes)
SAL 3.20: Intel Corp                       SR870BN4                         version 3.0
SAL Platform features: BusLock IRQ_Redirection
SAL: AP wakeup using external interrupt vector 0xf0
No logical to physical processor mapping available
iosapic_system_init: Disabling PC-AT compatible 8259 interrupts
ACPI: Local APIC address c0000000fee00000
PLATFORM int CPEI (0x3): GSI 22 (level, low) -> CPU 0 (0xc618) vector 30
register_intr: changing vector 39 from IO-SAPIC-edge to IO-SAPIC-level
4 CPUs available, 4 CPUs total
MCA related initialization done
add_active_range(0, 1024, 130688): New
add_active_range(0, 130984, 131020): New
add_active_range(0, 393216, 524164): New
add_active_range(0, 524192, 524269): New
free_area_init_nodes(262144, 262144, 524269, 524269)
free_area_init_nodes(): find_min_pfn = 1024
Dumping sorted node map
entry 0: 0  1024 -> 130688
entry 1: 0  130984 -> 131020
entry 2: 0  393216 -> 524164
entry 3: 0  524192 -> 524269
Hole found index 1: 130688 -> 130984
Hole found index 2: 131020 -> 262144
Hole found index 2: 131020 -> 393216
Hole found index 3: 524164 -> 524192
Hole found index 1: 130688 -> 130984
Hole found index 2: 131020 -> 262144
Hole found index 2: 131020 -> 393216
Hole found index 3: 524164 -> 524192
Virtual mem_map starts at 0xa0007ffffe400000
SMP: Allowing 4 CPUs, 0 hotplug CPUs
Built 1 zonelists
Kernel command line: BOOT_IMAGE=scsi0:EFI\redhat\l-tiger-smpxx.gz  root=LABEL=/ console=uart,io,0x2f8 ro
PID hash table entries: 4096 (order: 12, 32768 bytes)
Console: colour VGA+ 80x25
Dentry cache hash table entries: 262144 (order: 7, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 6, 1048576 bytes)
Placing software IO TLB between 0x4a84000 - 0x8a84000
Memory: 4073632k/4171600k available (6832k code, 96720k reserved, 2753k data, 256k init)
McKinley Errata 9 workaround not needed; disabling it
Mount-cache hash table entries: 1024
Boot processor id 0x0/0xc618
Fixed BSP b0 value from CPU 1
CPU 1: synchronized ITC with CPU 0 (last diff -10 cycles, maxerr 611 cycles)
CPU 2: synchronized ITC with CPU 0 (last diff 10 cycles, maxerr 593 cycles)
CPU 3: synchronized ITC with CPU 0 (last diff 10 cycles, maxerr 593 cycles)
Brought up 4 CPUs
Total of 4 processors activated (10158.08 BogoMIPS).
migration_cost=9941
checking if image is initramfs... it is
Freeing initrd memory: 1248kB freed
DMI 2.3 present.
NET: Registered protocol family 16
ACPI: bus type pci registered
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using IOSAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI quirk: region 0c00-0c7f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 0500-053f claimed by ICH4 GPIO
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
ACPI: PCI Root Bridge [PCI1] (0000:02)
ACPI: PCI Root Bridge [PCI3] (0000:09)
ACPI: PCI Root Bridge [PCI4] (0000:0f)
ACPI: Device [CSFF] status [00000008]: functional but not present; setting present
ACPI: PCI Root Bridge [CSFF] (0000:ff)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 12 devices
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
perfmon: version 2.0 IRQ 238
perfmon: Itanium 2 PMU detected, 16 PMCs, 18 PMDs, 4 counters (47 bits)
PAL Information Facility v0.5
perfmon: added sampling format default_format
perfmon_default_smpl: default_format v2.0 registered
oom-killer: gfp_mask=0xd0, order=1

Call Trace:
 [<a0000001000117f0>] show_stack+0x50/0xa0
                                sp=e0000001816577c0 bsp=e000000181651328
 [<a000000100011870>] dump_stack+0x30/0x60
                                sp=e000000181657990 bsp=e000000181651310
 [<a0000001000dd330>] out_of_memory+0x70/0x380
                                sp=e000000181657990 bsp=e0000001816512b8
 [<a0000001000e03b0>] __alloc_pages+0x3d0/0x520
                                sp=e0000001816579b0 bsp=e000000181651250
 [<a0000001000e05c0>] __get_free_pages+0xc0/0x180
                                sp=e0000001816579c0 bsp=e000000181651228
 [<a00000010007d2f0>] dup_task_struct+0x30/0x140
                                sp=e0000001816579c0 bsp=e0000001816511f0
 [<a00000010007f0c0>] copy_process+0x80/0x1c20
                                sp=e0000001816579c0 bsp=e000000181651120
 [<a000000100080ee0>] do_fork+0x1c0/0x3a0
                                sp=e0000001816579c0 bsp=e0000001816510c0
 [<a000000100013aa0>] kernel_thread+0x160/0x180
                                sp=e0000001816579e0 bsp=e000000181651088
 [<a0000001000b4f00>] keventd_create_kthread+0x40/0x100
                                sp=e000000181657db0 bsp=e000000181651050
 [<a0000001000abb10>] run_workqueue+0x1f0/0x2a0
                                sp=e000000181657db0 bsp=e000000181651008
 [<a0000001000abd80>] worker_thread+0x1c0/0x260
                                sp=e000000181657db0 bsp=e000000181650fc0
 [<a0000001000b4e40>] kthread+0x180/0x200
                                sp=e000000181657e20 bsp=e000000181650f88
 [<a000000100013b90>] kernel_thread_helper+0xd0/0x100
                                sp=e000000181657e30 bsp=e000000181650f60
 [<a0000001000094c0>] start_kernel_thread+0x20/0x40
                                sp=e000000181657e30 bsp=e000000181650f60
Mem-info:
DMA per-cpu:
cpu 0 hot: high 42, batch 7 used:37
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:0
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:0
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:0
cpu 3 cold: high 14, batch 3 used:0
DMA32 per-cpu: empty
Normal per-cpu:
cpu 0 hot: high 42, batch 7 used:8
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:29
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:40
cpu 2 cold: high 14, batch 3 used:0
oom-killer: gfp_mask=0x200d2, order=0

Call Trace:
 [<a0000001000117f0>] show_stack+0x50/0xa0
                                sp=e0000001ff927b70 bsp=e0000001ff921270
 [<a000000100011870>] dump_stack+0x30/0x60
                                sp=e0000001ff927d40 bsp=e0000001ff921258
 [<a0000001000dd330>] out_of_memory+0x70/0x380
                                sp=e0000001ff927d40 bsp=e0000001ff921200
 [<a0000001000e03b0>] __alloc_pages+0x3d0/0x520
                                sp=e0000001ff927d60 bsp=e0000001ff921190
 [<a0000001000f47a0>] do_wp_page+0x2c0/0x740
                                sp=e0000001ff927d70 bsp=e0000001ff921120
 [<a0000001000f6c90>] __handle_mm_fault+0x12b0/0x13c0
                                sp=e0000001ff927d70 bsp=e0000001ff921088
 [<a000000100058fd0>] ia64_do_page_fault+0x230/0xa00
                                sp=e0000001ff927d80 bsp=e0000001ff921030
 [<a00000010000c360>] ia64_leave_kernel+0x0/0x280
                                sp=e0000001ff927e30 bsp=e0000001ff921030
Mem-info:
DMA per-cpu:
cpu 0 hot: high 42, batch 7 used:37
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:0
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:0
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:0
cpu 3 cold: high 14, batch 3 used:0
DMA32 per-cpu: empty
Normal per-cpu:
cpu 0 hot: high 42, batch 7 used:8
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:29
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:40
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:2
cpu 3 cold: high 14, batch 3 used:0
HighMem per-cpu: empty
Free pages:     4055248kB (0kB HighMem)
Active:151 inactive:62 dirty:0 writeback:0 unstable:0 free:253453 slab:243 mapped:55 pagetables:8
DMA free:1998256kB min:5760kB low:7200kB high:8640kB active:0kB inactive:0kB present:2075200kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
Normal free:2056992kB min:2277358239360432kB low:2846697799200528kB high:3416037359040640kB active:2416kB inactive:992kB present:18446744073709550032kB pages_scanned:994 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:512kB low:512kB high:512kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 3*16kB 2*32kB 1*64kB 2*128kB 2*256kB 1*512kB 2*1024kB 2*2048kB 2*4096kB 2*8192kB 2*16384kB 3*32768kB 2*65536kB 1*131072kB 2*262144kB 2*524288kB 0*1048576kB = 1998256kB
DMA32: empty
Normal: 0*16kB 39*32kB 11*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 1*4096kB 2*8192kB 0*16384kB 2*32768kB 2*65536kB 2*131072kB 2*262144kB 2*524288kB 0*1048576kB = 2056992kB
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap  = 0kB
Total swap = 0kB
Free swap:            0kB
261247 pages of RAM
6488 reserved pages
45 pages shared
0 pages swap cached
644 pages in page table cache
Out of Memory: Kill process 274 (udev) score 7 and children.
Out of memory: Killed process 274 (udev).
hotplug: page allocation failure. order:0, mode:0x20

Call Trace:
 [<a0000001000117f0>] show_stack+0x50/0xa0
                                sp=e0000001ff927b60 bsp=e0000001ff921540
 [<a000000100011870>] dump_stack+0x30/0x60
                                sp=e0000001ff927d30 bsp=e0000001ff921528
 [<a0000001000e04b0>] __alloc_pages+0x4d0/0x520
                                sp=e0000001ff927d30 bsp=e0000001ff9214c0
 [<a0000001001173d0>] cache_alloc_refill+0x790/0xde0
                                sp=e0000001ff927d40 bsp=e0000001ff921448
 [<a000000100116be0>] kmem_cache_alloc+0xa0/0x100
                                sp=e0000001ff927d40 bsp=e0000001ff921420
 [<a00000010009e110>] __sigqueue_alloc+0xb0/0x160
                                sp=e0000001ff927d40 bsp=e0000001ff9213e8
 [<a00000010009f200>] send_signal+0x80/0x2a0
                                sp=e0000001ff927d40 bsp=e0000001ff9213b0
 [<a00000010009f580>] specific_send_sig_info+0x160/0x1e0
                                sp=e0000001ff927d40 bsp=e0000001ff921378
 [<a00000010009f6e0>] force_sig_info+0xe0/0x120
                                sp=e0000001ff927d40 bsp=e0000001ff921338
 [<a0000001000a01f0>] force_sig+0x30/0x60
                                sp=e0000001ff927d40 bsp=e0000001ff921310
 [<a0000001000dcf60>] __oom_kill_task+0x240/0x260
                                sp=e0000001ff927d40 bsp=e0000001ff9212d8
 [<a0000001000dd010>] oom_kill_task+0x90/0x1e0
                                sp=e0000001ff927d40 bsp=e0000001ff921290
 [<a0000001000dd290>] oom_kill_process+0x130/0x160
                                sp=e0000001ff927d40 bsp=e0000001ff921258
 [<a0000001000dd5b0>] out_of_memory+0x2f0/0x380
                                sp=e0000001ff927d40 bsp=e0000001ff921200
 [<a0000001000e03b0>] __alloc_pages+0x3d0/0x520
                                sp=e0000001ff927d60 bsp=e0000001ff921190
 [<a0000001000f47a0>] do_wp_page+0x2c0/0x740
                                sp=e0000001ff927d70 bsp=e0000001ff921120
 [<a0000001000f6c90>] __handle_mm_fault+0x12b0/0x13c0
                                sp=e0000001ff927d70 bsp=e0000001ff921088
 [<a000000100058fd0>] ia64_do_page_fault+0x230/0xa00
                                sp=e0000001ff927d80 bsp=e0000001ff921030
 [<a00000010000c360>] ia64_leave_kernel+0x0/0x280
                                sp=e0000001ff927e30 bsp=e0000001ff921030
Mem-info:
DMA per-cpu:
cpu 0 hot: high 42, batch 7 used:37
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:0
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:0
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:0
cpu 3 cold: high 14, batch 3 used:0
DMA32 per-cpu: empty
Normal per-cpu:
cpu 0 hot: high 42, batch 7 used:8
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:29
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:40
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:2
cpu 3 cold: high 14, batch 3 used:0
HighMem per-cpu: empty
Free pages:     4055248kB (0kB HighMem)
Active:151 inactive:62 dirty:0 writeback:0 unstable:0 free:253453 slab:243 mapped:55 pagetables:8
DMA free:1998256kB min:5760kB low:7200kB high:8640kB active:0kB inactive:0kB present:2075200kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
Normal free:2056992kB min:2277358239360432kB low:2846697799200528kB high:3416037359040640kB active:2416kB inactive:992kB present:18446744073709550032kB pages_scanned:994 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:512kB low:512kB high:512kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 3*16kB 2*32kB 1*64kB 2*128kB 2*256kB 1*512kB 2*1024kB 2*2048kB 2*4096kB 2*8192kB 2*16384kB 3*32768kB 2*65536kB 1*131072kB 2*262144kB 2*524288kB 0*1048576kB = 1998256kB
DMA32: empty
Normal: 0*16kB 39*32kB 11*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 1*4096kB 2*8192kB 0*16384kB 2*32768kB 2*65536kB 2*131072kB 2*262144kB 2*524288kB 0*1048576kB = 2056992kB
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap  = 0kB
Total swap = 0kB
Free swap:            0kB
261247 pages of RAM
6488 reserved pages
45 pages shared
0 pages swap cached
644 pages in page table cache
oom-killer: gfp_mask=0x280d2, order=0

Call Trace:
 [<a0000001000117f0>] show_stack+0x50/0xa0
                                sp=e0000001ff8c7b70 bsp=e0000001ff8c1268
 [<a000000100011870>] dump_stack+0x30/0x60
                                sp=e0000001ff8c7d40 bsp=e0000001ff8c1250
 [<a0000001000dd330>] out_of_memory+0x70/0x380
                                sp=e0000001ff8c7d40 bsp=e0000001ff8c11f0
 [<a0000001000e03b0>] __alloc_pages+0x3d0/0x520
                                sp=e0000001ff8c7d60 bsp=e0000001ff8c1188
 [<a0000001000f5ce0>] __handle_mm_fault+0x300/0x13c0
                                sp=e0000001ff8c7d70 bsp=e0000001ff8c10f0
 [<a000000100058fd0>] ia64_do_page_fault+0x230/0xa00
                                sp=e0000001ff8c7d80 bsp=e0000001ff8c1098
 [<a00000010000c360>] ia64_leave_kernel+0x0/0x280
                                sp=e0000001ff8c7e30 bsp=e0000001ff8c1098
Mem-info:
DMA per-cpu:
cpu 0 hot: high 42, batch 7 used:37
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:0
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:0
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:0
cpu 3 cold: high 14, batch 3 used:0
DMA32 per-cpu: empty
Normal per-cpu:
cpu 0 hot: high 42, batch 7 used:8
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:28
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:40
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:2
cpu 3 cold: high 14, batch 3 used:0
HighMem per-cpu: empty
Free pages:     4055248kB (0kB HighMem)
Active:160 inactive:53 dirty:0 writeback:0 unstable:0 free:253453 slab:244 mapped:55 pagetables:8
DMA free:1998256kB min:5760kB low:7200kB high:8640kB active:0kB inactive:0kB present:2075200kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
Normal free:2056992kB min:2277358239360432kB low:2846697799200528kB high:3416037359040640kB active:2560kB inactive:848kB present:18446744073709550032kB pages_scanned:1135 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:512kB low:512kB high:512kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 3*16kB 2*32kB 1*64kB 2*128kB 2*256kB 1*512kB 2*1024kB 2*2048kB 2*4096kB 2*8192kB 2*16384kB 3*32768kB 2*65536kB 1*131072kB 2*262144kB 2*524288kB 0*1048576kB = 1998256kB
DMA32: empty
Normal: 0*16kB 39*32kB 11*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 1*4096kB 2*8192kB 0*16384kB 2*32768kB 2*65536kB 2*131072kB 2*262144kB 2*524288kB 0*1048576kB = 2056992kB
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap  = 0kB
Total swap = 0kB
Free swap:            0kB
261247 pages of RAM
6488 reserved pages
45 pages shared
0 pages swap cached
644 pages in page table cache
cpu 3 hot: high 42, batch 7 used:2
oom-killer: gfp_mask=0x200d2, order=0

Call Trace:
 [<a0000001000117f0>] show_stack+0x50/0xa0
                                sp=e0000001ff927b70 bsp=e0000001ff921270
 [<a000000100011870>] dump_stack+0x30/0x60
                                sp=e0000001ff927d40 bsp=e0000001ff921258
 [<a0000001000dd330>] out_of_memory+0x70/0x380
                                sp=e0000001ff927d40 bsp=e0000001ff921200
 [<a0000001000e03b0>] __alloc_pages+0x3d0/0x520
                                sp=e0000001ff927d60 bsp=e0000001ff921190
 [<a0000001000f47a0>] do_wp_page+0x2c0/0x740
                                sp=e0000001ff927d70 bsp=e0000001ff921120
 [<a0000001000f6c90>] __handle_mm_fault+0x12b0/0x13c0
                                sp=e0000001ff927d70 bsp=e0000001ff921088
 [<a000000100058fd0>] ia64_do_page_fault+0x230/0xa00
                                sp=e0000001ff927d80 bsp=e0000001ff921030
 [<a00000010000c360>] ia64_leave_kernel+0x0/0x280
                                sp=e0000001ff927e30 bsp=e0000001ff921030
Mem-info:
DMA per-cpu:
cpu 0 hot: high 42, batch 7 used:37
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:0
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:0
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:0
cpu 3 cold: high 14, batch 3 used:0
DMA32 per-cpu: empty
Normal per-cpu:
cpu 0 hot: high 42, batch 7 used:8
cpu 0 cold: high 14, batch 3 used:0
cpu 1 hot: high 42, batch 7 used:34
cpu 1 cold: high 14, batch 3 used:0
cpu 2 hot: high 42, batch 7 used:40
cpu 2 cold: high 14, batch 3 used:0
cpu 3 hot: high 42, batch 7 used:2
cpu 3 cold: high 14, batch 3 used:0
HighMem per-cpu: empty
Free pages:     4055248kB (0kB HighMem)
Active:157 inactive:50 dirty:0 writeback:0 unstable:0 free:253453 slab:244 mapped:23 pagetables:4
DMA free:1998256kB min:5760kB low:7200kB high:8640kB active:0kB inactive:0kB present:2075200kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
Normal free:2056992kB min:2277358239360432kB low:2846697799200528kB high:3416037359040640kB active:2512kB inactive:800kB present:18446744073709550032kB pages_scanned:1471 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:512kB low:512kB high:512kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 3*16kB 2*32kB 1*64kB 2*128kB 2*256kB 1*512kB 2*1024kB 2*2048kB 2*4096kB 2*8192kB 2*16384kB 3*32768kB 2*65536kB 1*131072kB 2*262144kB 2*524288kB 0*1048576kB = 1998256kB
DMA32: empty
Normal: 0*16kB 39*32kB 11*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 1*4096kB 2*8192kB 0*16384kB 2*32768kB 2*65536kB 2*131072kB 2*262144kB 2*524288kB 0*1048576kB = 2056992kB
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap  = 0kB
Total swap = 0kB
Free swap:            0kB
261247 pages of RAM
6488 reserved pages
19 pages shared
0 pages swap cached
651 pages in page table cache
Out of Memory: Kill process 275 (hotplug) score 5 and children.
Out of memory: Killed process 275 (hotplug).
cpu 3 cold: high 14, batch 3 used:0
HighMem per-cpu: empty
Free pages:     4055248kB (0kB HighMem)
Active:152 inactive:50 dirty:0 writeback:0 unstable:0 free:253453 slab:245 mapped:0 pagetables:0
DMA free:1998256kB min:5760kB low:7200kB high:8640kB active:0kB inactive:0kB present:2075200kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 72057594037927935 72057594037927935
Normal free:2056992kB min:2277358239360432kB low:2846697799200528kB high:3416037359040640kB active:2432kB inactive:800kB present:18446744073709550032kB pages_scanned:1471 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
HighMem free:0kB min:512kB low:512kB high:512kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 3*16kB 2*32kB 1*64kB 2*128kB 2*256kB 1*512kB 2*1024kB 2*2048kB 2*4096kB 2*8192kB 2*16384kB 3*32768kB 2*65536kB 1*131072kB 2*262144kB 2*524288kB 0*1048576kB = 1998256kB
DMA32: empty
Normal: 0*16kB 39*32kB 11*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 1*4096kB 2*8192kB 0*16384kB 2*32768kB 2*65536kB 2*131072kB 2*262144kB 2*524288kB 0*1048576kB = 2056992kB
HighMem: empty
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap  = 0kB
Total swap = 0kB
Free swap:            0kB
261247 pages of RAM
6488 reserved pages
0 pages shared
0 pages swap cached
658 pages in page table cache
Out of Memory: Kill process 2 (migration/0) score 0 and children.
Out of Memory: Kill process 2 (migration/0) score 0 and children.

^ permalink raw reply

* [PATCH] ppc32: Support for Freescale PQ2FADS
From: Wade Farnsworth @ 2006-04-13 16:16 UTC (permalink / raw)
  To: linuxppc-embedded
In-Reply-To: <1144194855.32471.64.camel@rhino.az.mvista.com>

From: Wade Farnsworth <wfarnsworth@mvista.com>

Adds support for the Freescale PQ2FADS board.

Signed-off-by: Wade Farnsworth <wfarnsworth@mvista.com>

---

This patch makes use of PHYLIB, and as such requires the following
patches from Vitaly Bordug <vbordug@ru.mvista.com>:

ppc32: Fix string comparing in platform_notify_map
PAL: Support of the fixed PHY
FS_ENET: use PAL for mii management

This supercedes the previous patch posted on April 4.

 arch/ppc/Kconfig                   |    2
 arch/ppc/configs/pq2fads_defconfig |  783 +++++++++++++++++++++++++++
 arch/ppc/platforms/Makefile        |    1
 arch/ppc/platforms/pq2ads.h        |   17
 arch/ppc/platforms/pq2ads_pd.h     |   15
 arch/ppc/platforms/pq2fads_setup.c |  248 ++++++++
 arch/ppc/syslib/m82xx_pci.c        |    5
 arch/ppc/syslib/pq2_sys.c          |   10
 8 files changed, 1075 insertions(+), 6 deletions(-)

diff -uprN linux-2.6-orig/arch/ppc/Kconfig linux-2.6-new/arch/ppc/Kconfig
--- linux-2.6-orig/arch/ppc/Kconfig	2006-04-11 11:00:08.000000000 -0700
+++ linux-2.6-new/arch/ppc/Kconfig	2006-04-11 11:14:52.000000000 -0700
@@ -731,7 +731,7 @@ endchoice
 
 config PQ2ADS
 	bool
-	depends on ADS8272
+	depends on ADS8272 || PQ2FADS
 	default y
 
 config TQM8xxL
diff -uprN linux-2.6-orig/arch/ppc/configs/pq2fads_defconfig linux-2.6-new/arch/ppc/configs/pq2fads_defconfig
--- linux-2.6-orig/arch/ppc/configs/pq2fads_defconfig	1969-12-31 17:00:00.000000000 -0700
+++ linux-2.6-new/arch/ppc/configs/pq2fads_defconfig	2006-04-11 11:34:30.000000000 -0700
@@ -0,0 +1,783 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-rc1
+# Tue Apr 11 11:34:23 2006
+#
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_PPC=y
+CONFIG_PPC32=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+# CONFIG_HOTPLUG is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+# CONFIG_EPOLL is not set
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_DOUBLEFAULT=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+# CONFIG_MODULES is not set
+
+#
+# Block layer
+#
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Processor
+#
+CONFIG_6xx=y
+# CONFIG_40x is not set
+# CONFIG_44x is not set
+# CONFIG_8xx is not set
+# CONFIG_E200 is not set
+# CONFIG_E500 is not set
+CONFIG_PPC_FPU=y
+# CONFIG_KEXEC is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_WANT_EARLY_SERIAL is not set
+CONFIG_EMBEDDEDBOOT=y
+CONFIG_PPC_STD_MMU=y
+
+#
+# Platform options
+#
+
+#
+# Freescale Ethernet driver platform-specific options
+#
+# CONFIG_PPC_PREP is not set
+# CONFIG_APUS is not set
+# CONFIG_KATANA is not set
+# CONFIG_WILLOW is not set
+# CONFIG_CPCI690 is not set
+# CONFIG_POWERPMC250 is not set
+# CONFIG_CHESTNUT is not set
+# CONFIG_SPRUCE is not set
+# CONFIG_HDPU is not set
+# CONFIG_EV64260 is not set
+# CONFIG_LOPEC is not set
+# CONFIG_MVME5100 is not set
+# CONFIG_PPLUS is not set
+# CONFIG_PRPMC750 is not set
+# CONFIG_PRPMC800 is not set
+# CONFIG_SANDPOINT is not set
+# CONFIG_RADSTONE_PPC7D is not set
+# CONFIG_PAL4 is not set
+# CONFIG_GEMINI is not set
+# CONFIG_EST8260 is not set
+# CONFIG_SBC82xx is not set
+# CONFIG_SBS8260 is not set
+# CONFIG_RPX8260 is not set
+# CONFIG_TQM8260 is not set
+# CONFIG_ADS8272 is not set
+CONFIG_PQ2FADS=y
+# CONFIG_LITE5200 is not set
+# CONFIG_MPC834x_SYS is not set
+# CONFIG_EV64360 is not set
+CONFIG_PQ2ADS=y
+CONFIG_8260=y
+CONFIG_CPM2=y
+# CONFIG_PC_KEYBOARD is not set
+# CONFIG_SMP is not set
+# CONFIG_HIGHMEM is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_CMDLINE_BOOL is not set
+# CONFIG_PM is not set
+# CONFIG_SOFTWARE_SUSPEND is not set
+CONFIG_SECCOMP=y
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+# CONFIG_PPC_I8259 is not set
+CONFIG_PPC_INDIRECT_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_8260=y
+CONFIG_8260_PCI9=y
+CONFIG_8260_PCI9_IDMA1=y
+# CONFIG_8260_PCI9_IDMA2 is not set
+# CONFIG_8260_PCI9_IDMA3 is not set
+# CONFIG_8260_PCI9_IDMA4 is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Advanced setup
+#
+# CONFIG_ADVANCED_OPTIONS is not set
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe000000
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_TASK_SIZE=0x80000000
+CONFIG_BOOT_LOAD=0x00400000
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+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_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=32768
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Macintosh device drivers
+#
+# CONFIG_WINDFARM is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+CONFIG_DAVICOM_PHY=y
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_FIXED_PHY is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_PCI is not set
+CONFIG_FS_ENET=y
+# CONFIG_FS_ENET_HAS_SCC is not set
+CONFIG_FS_ENET_HAS_FCC=y
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_CPM=y
+CONFIG_SERIAL_CPM_CONSOLE=y
+CONFIG_SERIAL_CPM_SCC1=y
+CONFIG_SERIAL_CPM_SCC2=y
+# CONFIG_SERIAL_CPM_SCC3 is not set
+# CONFIG_SERIAL_CPM_SCC4 is not set
+# CONFIG_SERIAL_CPM_SMC1 is not set
+# CONFIG_SERIAL_CPM_SMC2 is not set
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_GEN_RTC=y
+# CONFIG_GEN_RTC_X 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_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# InfiniBand support
+#
+# CONFIG_INFINIBAND is not set
+
+#
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
+#
+
+#
+# Real Time Clock
+#
+# CONFIG_RTC_CLASS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS 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_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+# CONFIG_MSDOS_PARTITION is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+# CONFIG_NLS is not set
+# CONFIG_SCC_ENET is not set
+# CONFIG_FEC_ENET is not set
+
+#
+# CPM2 Options
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC32 is not set
+# CONFIG_LIBCRC32C is not set
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_FS is not set
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_KGDB_CONSOLE is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
diff -uprN linux-2.6-orig/arch/ppc/platforms/Makefile linux-2.6-new/arch/ppc/platforms/Makefile
--- linux-2.6-orig/arch/ppc/platforms/Makefile	2006-04-11 11:00:08.000000000 -0700
+++ linux-2.6-new/arch/ppc/platforms/Makefile	2006-04-11 11:14:52.000000000 -0700
@@ -21,6 +21,7 @@ obj-$(CONFIG_MVME5100)		+= mvme5100.o
 obj-$(CONFIG_PAL4)		+= pal4_setup.o pal4_pci.o
 obj-$(CONFIG_POWERPMC250)	+= powerpmc250.o
 obj-$(CONFIG_PPLUS)		+= pplus.o
+obj-$(CONFIG_PQ2FADS)		+= pq2fads_setup.o
 obj-$(CONFIG_PRPMC750)		+= prpmc750.o
 obj-$(CONFIG_PRPMC800)		+= prpmc800.o
 obj-$(CONFIG_RADSTONE_PPC7D)	+= radstone_ppc7d.o
diff -uprN linux-2.6-orig/arch/ppc/platforms/pq2ads.h linux-2.6-new/arch/ppc/platforms/pq2ads.h
--- linux-2.6-orig/arch/ppc/platforms/pq2ads.h	2006-04-11 11:00:08.000000000 -0700
+++ linux-2.6-new/arch/ppc/platforms/pq2ads.h	2006-04-11 11:16:47.000000000 -0700
@@ -15,6 +15,8 @@
 
 #if defined(CONFIG_ADS8272)
 #define BOARD_CHIP_NAME "8272"
+#elif defined(CONFIG_PQ2FADS)
+#define BOARD_CHIP_NAME "8280"
 #endif
 
 /* Memory map is configured by the PROM startup.
@@ -25,7 +27,11 @@
 #define BCSR_ADDR		((uint)0xf4500000)
 #define BCSR_SIZE		((uint)(32 * 1024))
 
+#ifdef CONFIG_PQ2FADS
+#define BOOTROM_RESTART_ADDR	((uint)0xfff40004)
+#else
 #define BOOTROM_RESTART_ADDR	((uint)0xff000104)
+#endif
 
 /* For our show_cpuinfo hooks. */
 #define CPUINFO_VENDOR		"Motorola"
@@ -45,7 +51,18 @@
 #define BCSR1_RS232_EN1		((uint)0x02000000)	/* 0 == enable */
 #define BCSR1_RS232_EN2		((uint)0x01000000)	/* 0 == enable */
 #define BCSR3_FETHIEN2		((uint)0x10000000)	/* 0 == enable */
+#ifdef CONFIG_PQ2FADS
+#define BCSR3_FETH2_RST 	((uint)0x08000000)	/* 0 == reset */
+#else
 #define BCSR3_FETH2_RST 	((uint)0x80000000)	/* 0 == reset */
+#endif
+
+#ifdef CONFIG_PQ2FADS
+#define F2_RXCLK	13
+#define F2_TXCLK	14
+#define F3_RXCLK	15
+#define F3_TXCLK	16
+#endif
 
 #define PHY_INTERRUPT	SIU_INT_IRQ7
 
diff -uprN linux-2.6-orig/arch/ppc/platforms/pq2ads_pd.h linux-2.6-new/arch/ppc/platforms/pq2ads_pd.h
--- linux-2.6-orig/arch/ppc/platforms/pq2ads_pd.h	2006-04-11 11:00:08.000000000 -0700
+++ linux-2.6-new/arch/ppc/platforms/pq2ads_pd.h	2006-04-11 11:14:52.000000000 -0700
@@ -15,19 +15,31 @@
 
 /* FCC1 Clock Source Configuration.  These can be redefined in the board specific file.
    Can only choose from CLK9-12 */
-
+#ifndef F1_RXCLK
 #define F1_RXCLK	11
+#endif
+#ifndef F1_TXCLK
 #define F1_TXCLK	10
+#endif
 
 /* FCC2 Clock Source Configuration.  These can be redefined in the board specific file.
    Can only choose from CLK13-16 */
+#ifndef F2_RXCLK
 #define F2_RXCLK	15
+#endif
+#ifndef F2_TXCLK
 #define F2_TXCLK	16
+#endif
+
 
 /* FCC3 Clock Source Configuration.  These can be redefined in the board specific file.
    Can only choose from CLK13-16 */
+#ifndef F3_RXCLK
 #define F3_RXCLK	13
+#endif
+#ifndef F3_TXCLK
 #define F3_TXCLK	14
+#endif
 
 /* Automatically generates register configurations */
 #define PC_CLK(x)	((uint)(1<<(x-1)))	/* FCC CLK I/O ports */
@@ -110,5 +122,6 @@
 #define FCC_MEM_OFFSET(x) (CPM_FCC_SPECIAL_BASE + (x*128))
 #define FCC1_MEM_OFFSET FCC_MEM_OFFSET(0)
 #define FCC2_MEM_OFFSET FCC_MEM_OFFSET(1)
+#define FCC3_MEM_OFFSET FCC_MEM_OFFSET(2)
 
 #endif
diff -uprN linux-2.6-orig/arch/ppc/platforms/pq2fads_setup.c linux-2.6-new/arch/ppc/platforms/pq2fads_setup.c
--- linux-2.6-orig/arch/ppc/platforms/pq2fads_setup.c	1969-12-31 17:00:00.000000000 -0700
+++ linux-2.6-new/arch/ppc/platforms/pq2fads_setup.c	2006-04-11 11:44:38.000000000 -0700
@@ -0,0 +1,248 @@
+/*
+ * arch/ppc/platforms/pq2fads_setup.c
+ *
+ * PQ2FADS Board-specific Platform Device descriptions
+ *
+ * 2006 (c) MontaVista Software, Inc.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/device.h>
+#include <linux/ioport.h>
+#include <linux/fs_enet_pd.h>
+#include <linux/platform_device.h>
+
+#include <asm/io.h>
+#include <asm/mpc8260.h>
+#include <asm/cpm2.h>
+#include <asm/immap_cpm2.h>
+#include <asm/irq.h>
+#include <asm/ppc_sys.h>
+#include <asm/ppcboot.h>
+#include <asm/delay.h>
+
+#include "pq2ads_pd.h"
+
+static void init_fcc2_ioports(void);
+static void init_fcc3_ioports(void);
+
+static struct fs_mii_bb_platform_info m82xx_mii_bb_pdata = {
+	.mdio_port	= fsiop_portc,
+	.mdio_bit	= 9,
+	.mdc_port	= fsiop_portc,
+	.mdc_bit	= 10,
+	.delay		= 1,
+};
+
+/* First Ethernet Port - FCC2 */
+static struct fs_platform_info mpc82xx_fcc2_pdata = {
+	.fs_no		= fsid_fcc2,
+	.cp_page	= CPM_CR_FCC2_PAGE,
+	.cp_block 	= CPM_CR_FCC2_SBLOCK,
+	.clk_trx 	= (PC_F2RXCLK | PC_F2TXCLK),
+	.clk_route	= CMX2_CLK_ROUTE,
+	.clk_mask	= CMX2_CLK_MASK,
+	.init_ioports	= init_fcc2_ioports,
+
+	.phy_addr	= 0,
+#ifdef PHY_INTERRUPT
+	.phy_irq	= PHY_INTERRUPT,
+#else
+	.phy_irq	= -1;
+#endif
+	.mem_offset	= FCC2_MEM_OFFSET,
+	.rx_ring	= 32,
+	.tx_ring	= 32,
+	.rx_copybreak	= 240,
+	.use_napi	= 0,
+	.napi_weight	= 17,
+	.bus_id		= "0:00",
+};
+
+/* Second Ethernet Port - FCC3 */
+static struct fs_platform_info mpc82xx_fcc3_pdata = {
+	.fs_no		= fsid_fcc3,
+	.cp_page	= CPM_CR_FCC3_PAGE,
+	.cp_block 	= CPM_CR_FCC3_SBLOCK,
+	.clk_trx 	= (PC_F3RXCLK | PC_F3TXCLK),
+	.clk_route	= CMX3_CLK_ROUTE,
+	.clk_mask	= CMX3_CLK_MASK,
+	.init_ioports 	= init_fcc3_ioports,
+
+	.phy_addr	= 3,
+#ifdef PHY_INTERRUPT
+	.phy_irq	= PHY_INTERRUPT,
+#else
+	.phy_irq	= -1;
+#endif
+	.mem_offset	= FCC3_MEM_OFFSET,
+	.rx_ring	= 32,
+	.tx_ring	= 32,
+	.rx_copybreak	= 240,
+	.use_napi	= 0,
+	.napi_weight	= 17,
+	.bus_id		= "0:03",
+};
+
+static void init_fcc2_ioports(void)
+{
+	struct io_port *io;
+	u32 tempval;
+	cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t));
+	u32 *bcsr = ioremap(BCSR_ADDR+4, sizeof(u32));
+
+	io = &immap->im_ioport;
+
+	/* Enable the PHY */
+	clrbits32(bcsr, BCSR1_FETHIEN);
+	setbits32(bcsr, BCSR1_FETH_RST);
+
+	/* FCC2 pins are on port B/C. */
+	/* Configure port B and C pins for FCC2 Ethernet. */
+
+	tempval = in_be32(&io->iop_pdirb);
+	tempval &= ~PB2_DIRB0;
+	tempval |= PB2_DIRB1;
+	out_be32(&io->iop_pdirb, tempval);
+
+	tempval = in_be32(&io->iop_psorb);
+	tempval &= ~PB2_PSORB0;
+	tempval |= PB2_PSORB1;
+	out_be32(&io->iop_psorb, tempval);
+
+	setbits32(&io->iop_pparb,PB2_DIRB0 | PB2_DIRB1);
+
+	tempval = PC_F2RXCLK|PC_F2TXCLK;
+
+	/* Alter clocks */
+	clrbits32(&io->iop_psorc,tempval);
+	clrbits32(&io->iop_pdirc,tempval);
+	setbits32(&io->iop_pparc,tempval);
+
+	clrbits32(&immap->im_cpmux.cmx_fcr, CMX2_CLK_MASK);
+	setbits32(&immap->im_cpmux.cmx_fcr, CMX2_CLK_ROUTE);
+
+	iounmap(bcsr);
+	iounmap(immap);
+}
+
+static void init_fcc3_ioports(void)
+{
+	struct io_port *io;
+	u32 tempval;
+	cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t));
+	u32 *bcsr = ioremap(BCSR_ADDR+12, sizeof(u32));
+
+	io = &immap->im_ioport;
+
+	/* Enable the PHY */
+	clrbits32(bcsr, BCSR3_FETHIEN2);
+	setbits32(bcsr, BCSR3_FETH2_RST);
+
+	/* FCC3 pins are on port B/C. */
+	/* Configure port B and C pins for FCC3 Ethernet. */
+
+	tempval = in_be32(&io->iop_pdirb);
+	tempval &= ~PB3_DIRB0;
+	tempval |= PB3_DIRB1;
+	out_be32(&io->iop_pdirb, tempval);
+
+	tempval = in_be32(&io->iop_psorb);
+	tempval &= ~PB3_PSORB0;
+	tempval |= PB3_PSORB1;
+	out_be32(&io->iop_psorb, tempval);
+
+	setbits32(&io->iop_pparb,PB3_DIRB0 | PB3_DIRB1);
+
+	/* Alter clocks */
+	tempval = PC_F3TXCLK|PC_F3RXCLK;
+
+	clrbits32(&io->iop_psorc, tempval);
+	clrbits32(&io->iop_pdirc, tempval);
+	setbits32(&io->iop_pparc, tempval);
+
+	clrbits32(&immap->im_cpmux.cmx_fcr, CMX3_CLK_MASK);
+	setbits32(&immap->im_cpmux.cmx_fcr, CMX3_CLK_ROUTE);
+
+	iounmap(bcsr);
+	iounmap(immap);
+}
+
+static void __init pq2fads_fixup_enet_pdata(struct platform_device *pdev,
+						int idx)
+{
+	bd_t* bi = (void*)__res;
+	int fs_no = fsid_fcc1+pdev->id-1;
+
+	mpc82xx_fcc3_pdata.dpram_offset = mpc82xx_fcc2_pdata.dpram_offset = (u32)cpm2_immr->im_dprambase;
+	mpc82xx_fcc3_pdata.fcc_regs_c = mpc82xx_fcc2_pdata.fcc_regs_c = (u32)cpm2_immr->im_fcc_c;
+
+	switch(fs_no) {
+		case fsid_fcc2:
+			memcpy(&mpc82xx_fcc2_pdata.macaddr,bi->bi_enetaddr,6);
+			pdev->dev.platform_data = &mpc82xx_fcc2_pdata;
+		break;
+		case fsid_fcc3:
+			memcpy(&mpc82xx_fcc3_pdata.macaddr,bi->bi_enetaddr,6);
+			mpc82xx_fcc3_pdata.macaddr[5] ^= 1;
+			pdev->dev.platform_data = &mpc82xx_fcc3_pdata;
+		break;
+	}
+}
+
+static void __init pq2fads_fixup_mdio_pdata(struct platform_device *pdev,
+						int idx)
+{
+	m82xx_mii_bb_pdata.irq[0] = PHY_INTERRUPT;
+	m82xx_mii_bb_pdata.irq[1] = -1;
+	m82xx_mii_bb_pdata.irq[2] = -1;
+	m82xx_mii_bb_pdata.irq[3] = PHY_INTERRUPT;
+	m82xx_mii_bb_pdata.irq[31] = -1;
+
+	pdev->dev.platform_data = &m82xx_mii_bb_pdata;
+}
+
+static int pq2fads_platform_notify(struct device *dev)
+{
+	static const struct platform_notify_dev_map dev_map[] = {
+		{
+			.bus_id = "fsl-cpm-fcc",
+			.rtn = pq2fads_fixup_enet_pdata
+		},
+		{
+			.bus_id = "fsl-bb-mdio",
+			.rtn = pq2fads_fixup_mdio_pdata
+		},
+		{
+			.bus_id = NULL
+		}
+	};
+	platform_notify_map(dev_map,dev);
+
+	return 0;
+
+}
+
+int __init pq2fads_init(void)
+{
+	printk(KERN_NOTICE "pq2fads: Init\n");
+
+	platform_notify = pq2fads_platform_notify;
+
+	ppc_sys_device_initfunc();
+
+	ppc_sys_device_disable_all();
+	ppc_sys_device_enable(MPC82xx_CPM_FCC2);
+	ppc_sys_device_enable(MPC82xx_CPM_FCC3);
+	ppc_sys_device_enable(MPC82xx_MDIO_BB);
+
+	return 0;
+}
+
+arch_initcall(pq2fads_init);
diff -uprN linux-2.6-orig/arch/ppc/syslib/m82xx_pci.c linux-2.6-new/arch/ppc/syslib/m82xx_pci.c
--- linux-2.6-orig/arch/ppc/syslib/m82xx_pci.c	2006-04-11 11:00:08.000000000 -0700
+++ linux-2.6-new/arch/ppc/syslib/m82xx_pci.c	2006-04-11 11:14:52.000000000 -0700
@@ -279,8 +279,13 @@ pq2ads_setup_pci(struct pci_controller *
 	immap->im_pci.pci_pobar2 = cpu_to_le32((M82xx_PCI_LOWER_MEM - M82xx_PCI_MEM_OFFSET) >> POTA_ADDR_SHIFT);
 
  	/* Inbound transactions from PCI memory space */
+#ifdef CONFIG_PQ2FADS
+	immap->im_pci.pci_picmr0 = cpu_to_le32(PICMR_ENABLE |
+					((~(M82xx_PCI_SLAVE_MEM_SIZE-1U)) >> PITA_ADDR_SHIFT));
+#else
 	immap->im_pci.pci_picmr0 = cpu_to_le32(PICMR_ENABLE | PICMR_PREFETCH_EN |
 					((~(M82xx_PCI_SLAVE_MEM_SIZE-1U)) >> PITA_ADDR_SHIFT));
+#endif
 	immap->im_pci.pci_pibar0 = cpu_to_le32(M82xx_PCI_SLAVE_MEM_BUS  >> PITA_ADDR_SHIFT);
 	immap->im_pci.pci_pitar0 = cpu_to_le32(M82xx_PCI_SLAVE_MEM_LOCAL>> PITA_ADDR_SHIFT);
 
diff -uprN linux-2.6-orig/arch/ppc/syslib/pq2_sys.c linux-2.6-new/arch/ppc/syslib/pq2_sys.c
--- linux-2.6-orig/arch/ppc/syslib/pq2_sys.c	2006-04-11 11:11:55.000000000 -0700
+++ linux-2.6-new/arch/ppc/syslib/pq2_sys.c	2006-04-11 11:25:00.000000000 -0700
@@ -153,40 +153,42 @@ struct ppc_sys_spec ppc_sys_specs[] = {
 		.ppc_sys_name	= "8270",
 		.mask 		= 0x0000ff00,
 		.value 		= 0x00000a00,
-		.num_devices 	= 12,
+		.num_devices 	= 13,
 		.device_list = (enum ppc_sys_devices[])
 		{
 			MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
 			MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
 			MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
 			MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
+			MPC82xx_MDIO_BB,
 		},
 	},
 	{
 		.ppc_sys_name	= "8275",
 		.mask 		= 0x0000ff00,
 		.value 		= 0x00000a00,
-		.num_devices 	= 12,
+		.num_devices 	= 13,
 		.device_list = (enum ppc_sys_devices[])
 		{
 			MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
 			MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
 			MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
 			MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
+			MPC82xx_MDIO_BB,
 		},
 	},
 	{
 		.ppc_sys_name	= "8280",
 		.mask 		= 0x0000ff00,
 		.value 		= 0x00000a00,
-		.num_devices 	= 13,
+		.num_devices 	= 14,
 		.device_list = (enum ppc_sys_devices[])
 		{
 			MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
 			MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
 			MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
 			MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
-			MPC82xx_CPM_I2C,
+			MPC82xx_CPM_I2C, MPC82xx_MDIO_BB,
 		},
 	},
 	{

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Olof Johansson @ 2006-04-13 16:07 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Olof Johansson, linuxppc-dev, paulus, linux-kernel
In-Reply-To: <1144925149.4935.14.camel@localhost.localdomain>

On Thu, Apr 13, 2006 at 08:45:49PM +1000, Benjamin Herrenschmidt wrote:
> On Thu, 2006-04-13 at 09:40 +0300, Muli Ben-Yehuda wrote:
> > On Wed, Apr 12, 2006 at 09:52:33PM -0500, Olof Johansson wrote:
> > 
> > > iommu=off can still be used for those who don't want to deal with the
> > > overhead (and don't need it for any devices).
> > 
> > I've been pondering walking the PCI bus before deciding to enable an
> > IOMMU and checking each device's DMA mask. Is this something that you
> > considered and rejected, or just something no one got around to doing?
> 
> It would do the trick for airport cards in G5s.. a little bit of OF
> walking to find the card.

Walking the DT means we need to hardcode it on PCI IDs, since the Apple
OF doesn't give the Airport device a logical name. It's probably easier
to implement than walking PCI, but we'd need to maintain a table. My
vote is for PCI walking, I'll give that a shot over the weekend.

> It won't help with cardbus broadcom's but then, there is currently no G5
> with a cardbus adaptor that I know of :) It's possible I suppose to get
> a pci<->cardbus adapter but I suppose in that case, we can ignore it ...

Yep, that should be rare enough.

-Olof

^ permalink raw reply

* Re: [PATCH] [2/2] POWERPC: Lower threshold for DART enablement to 1GB, V2
From: Olof Johansson @ 2006-04-13 15:57 UTC (permalink / raw)
  To: Muli Ben-Yehuda; +Cc: Olof Johansson, linuxppc-dev, paulus, linux-kernel
In-Reply-To: <20060413064027.GH10412@granada.merseine.nu>

On Thu, Apr 13, 2006 at 09:40:27AM +0300, Muli Ben-Yehuda wrote:
> On Wed, Apr 12, 2006 at 09:52:33PM -0500, Olof Johansson wrote:
> 
> > iommu=off can still be used for those who don't want to deal with the
> > overhead (and don't need it for any devices).
> 
> I've been pondering walking the PCI bus before deciding to enable an
> IOMMU and checking each device's DMA mask. Is this something that you
> considered and rejected, or just something no one got around to doing?

It's something I thought about, but right now we enable the IOMMU quite
early during boot. It'd take a bit of surgery to shuffle things, and I
decided that it's not worth the work (and risk of regressions) for 2.6.17.



-Olof

^ permalink raw reply

* Re: NAND and JFFS2 supports in Linux 2.4
From: Jörn Engel @ 2006-04-13 15:03 UTC (permalink / raw)
  To: Laurent Lagrange; +Cc: linuxppc-embedded
In-Reply-To: <006201c65f09$7d809140$5201a8c0@GEG2400>

On Thu, 13 April 2006 16:49:35 +0200, Laurent Lagrange wrote:
> > -----Message d'origine-----
> > De : Josh Boyer
> 
> > > Linux 2.4.18 or 2.4.25 do not support this device,
> > Those are entire too old.
> Except for some customers which must maintain kernels during many years :-)
> 
> > > Linux 2.4.31 seems supporting this device but JFFS2 is not adapted,
> > NAND + JFFS2 + 2.4 is not a supported combination.
> That's the problem i am facing with.

Supporting an old system for years is one thing.  Adding new features
is a completely different beast.  Looks like you have to spend some
substantial time, just to get something running.  Are you sure this is
desired and preferred over a kernel upgrade?  Might be worth
rethinking.

Jörn

-- 
Those who come seeking peace without a treaty are plotting.
-- Sun Tzu

^ permalink raw reply

* Re: [PATCH] powerpc: Add FSL CPM2 device tree node documentation
From: Jon Loeliger @ 2006-04-13 15:15 UTC (permalink / raw)
  To: Paul Nasrat; +Cc: linuxppc-dev, Paul Mackerras
In-Reply-To: <1144905296.29397.40.camel@enki.eridu>

So, like, the other day Paul Nasrat mumbled:
> 
> Well I'm biased and say we shouldn't reinvent the wheel with dtc if we
> don't need to.  I've sent Jon a patch to start validating this for dtc
> and am waiting feedback before I add additional device_types.

What other device_types do you want to check? 

> So we
> should have local-mac-address be preassiged hwaddr and mac-address last
> used. For some setups this would be the same persistently, but I can
> envisage some non OF setups populating mac-address from the card. 

I'm sitting at a conference right now.  I'll slate 
some time for looking into it early next week.

jdl

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox