LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* RE: OpenFirmware framebuffer
From: Benjamin Herrenschmidt @ 2006-06-14 14:29 UTC (permalink / raw)
  To: matt; +Cc: linuxppc-dev, 'Nathan Lynch'
In-Reply-To: <00b601c68fbb$e9c2c570$99dfdfdf@bakuhatsu.net>

On Wed, 2006-06-14 at 09:07 -0500, Matt Sealey wrote:
> > Send us a copy of your dmesg log. Also, does the pegasos 
> > firmware creates a "display" node in OF with the right type 
> > and properties ?
> 
> dmesg log might be a bit clumsy to get but I will try.
> 
> Please tell me what the display node should have? I can check that. I
> am curious though as it does seem to have worked.. it uses the mode I
> set in firmware, cleans the screen and prints a message to display..
> just not MUCH of a message. With previous "broken" firmware and kernels
> I would get a garbage screen with the chrp_boot messages on it, but
> yesterday this new message (welcome to Linux.. MSR, HID0 printout) was
> a welcome change, but.. not a console so much as "not a blank screen".
> 
> dmws2: the current released firmware doesn't. But I get to test out all
> these new broken features.. :3

Better, send me a firmware image and I'll check what's up on my
pegasos :)

Ben.

^ permalink raw reply

* Re: [PATCH 0/3] powerpc: Instrument Hypervisor Calls: add sysfs files
From: Nathan Lynch @ 2006-06-14 14:22 UTC (permalink / raw)
  To: Mike Kravetz; +Cc: Bryan Rosenburg, linuxppc-dev, Christopher Yeoh
In-Reply-To: <20060614035420.GD6759@monkey.ibm.com>

Hi Mike-

> +#ifdef CONFIG_HCALL_STATS
> +DECLARE_PER_CPU(struct hcall_stats[MAX_HCALL_OPCODES+1], hcall_stats);
> +
> +static ssize_t show_hcall_stats(struct sys_device *dev, char *buf)
> +{
> +	struct cpu *cpu = container_of(dev, struct cpu, sysdev);
> +	struct hcall_stats *hs = per_cpu(hcall_stats, cpu->sysdev.id);
> +	size_t rc = 0;
> +	size_t b_written = 0;
> +	size_t b_remain = PAGE_SIZE;
> +	unsigned long i;
> +
> +	for (i=0; i<MAX_HCALL_OPCODES+1; i++){

Coding style:
                  i < MAX_HCALL_OPCODES + 1

> +		if (!hs[i].num_calls)
> +			continue;
> +
> +		b_written = snprintf(buf+rc, b_remain,
> +				"%lu %lu %lu\n",
> +				i<<2, hs[i].num_calls, hs[i].total_time);
> +
> +		if (b_written >= b_remain)
> +			break;	/* end of buffer */
> +
> +		rc += b_written;
> +		b_remain -= b_written;
> +	}
> +
> +	return rc;
> +}

This flagrantly violates the one-value-per-file rule for sysfs. ;)

Maybe debugfs or some other mechanism would be more appropriate.

Do we not run the risk of having output truncated after the system has
been up for a while and has done a few million hcalls?

> +
> +static SYSDEV_ATTR(hcall_stats, 0666, show_hcall_stats, NULL);

Mode should be 0444 or 0400, no need to have write permissions.

> +#endif /* CONFIG_HCALL_STATS */
> +
>  static int __init topology_init(void)
>  {
>  	int cpu;
> @@ -390,6 +423,9 @@ static int __init topology_init(void)
>  			register_cpu(c, cpu, parent);
>  
>  			sysdev_create_file(&c->sysdev, &attr_physical_id);
> +#ifdef CONFIG_HCALL_STATS
> +			sysdev_create_file(&c->sysdev, &attr_hcall_stats);
> +#endif

Let's not create the file on non-lpar systems.

^ permalink raw reply

* Re: regarding xilinx system ace in linux-2.6
From: Jeff Angielski @ 2006-06-14 14:14 UTC (permalink / raw)
  To: rahul; +Cc: linuxppc-embedded
In-Reply-To: <448F9188.8010201@gmail.com>

On Wed, 2006-06-14 at 10:03 +0530, rahul wrote:
> Hi all
> I would like to know if anyone in the group or otherwise using Xilinx's
> System ACE MPU interface to read/write to Compact Flash card on their
> hardware ?
> I came to know the code is implemented in linux-2.4  but i want to have 
> it in linux-2.6

Last I heard was that Xilinx was working on the linux 2.6
implementation.  

You should contact your Xilinx representative to find out the current
status of that effort and/or where you can get the source code.


Jeff Angielski
The PTR Group

^ permalink raw reply

* RE: OpenFirmware framebuffer
From: Matt Sealey @ 2006-06-14 14:07 UTC (permalink / raw)
  To: 'Benjamin Herrenschmidt'; +Cc: linuxppc-dev, 'Nathan Lynch'
In-Reply-To: <1150242815.13958.71.camel@localhost.localdomain>


> Send us a copy of your dmesg log. Also, does the pegasos 
> firmware creates a "display" node in OF with the right type 
> and properties ?

dmesg log might be a bit clumsy to get but I will try.

Please tell me what the display node should have? I can check that. I
am curious though as it does seem to have worked.. it uses the mode I
set in firmware, cleans the screen and prints a message to display..
just not MUCH of a message. With previous "broken" firmware and kernels
I would get a garbage screen with the chrp_boot messages on it, but
yesterday this new message (welcome to Linux.. MSR, HID0 printout) was
a welcome change, but.. not a console so much as "not a blank screen".

dmws2: the current released firmware doesn't. But I get to test out all
these new broken features.. :3

-- 
Matt Sealey <matt@genesi-usa.com>
Manager, Genesi, Developer Relations

^ permalink raw reply

* RE: No ttyS device at I/O port 0xfe004500 for console
From: Chuck Meade @ 2006-06-14 14:04 UTC (permalink / raw)
  To: Joakim Tjernlund, Alex Zeffertt, Kumar Gala,
	Chuck Meade (mindspring)
  Cc: linuxppc-embedded
In-Reply-To: <F6AD7E21CDF4E145A44F61F43EE6D9397E9DAC@tmnt04.transmode.se>

> I think you should loose the "console=uart,io,0xfe004500", don't think
> it is needed
> sine the "console=ttyS0" will override it.

I agree.  I use "console=ttyS0,115200".

> > >> +        .device_list    = (enum ppc_sys_devices[])
> > >> +        {
> > >> +            MPC83xx_IIC1, MPC83xx_DUART,
> > >> +#ifdef CONFIG_QE
> > >> +            MPC83xx_QE_UCC3, MPC83xx_QE_UCC4,
> > >> +#endif
> > >> +        },
> > >> +    },
> > >>      {    /* default match */
> > >>          .ppc_sys_name    = "",
> > >>          .mask         = 0x00000000,
> 
> This device list appears to be common to all 8323E CPUs and to me this
> looks
> like a board unique list. Seems to that this list is better off in the 
> mpc832xe_mds.c board file. That would make it easier for custom boards I
> think.
> 
>  Jocke

Whatever is decided here is fine by me -- I followed the style of the 
existing code when adding this code block.  The current 2.6.17 kernel has
the device lists in this same file, for the CPU variants that are supported
in the "public tree".

But you are right, the CPU itself has more UCCs, and other peripherals, than
shown here.  These are just the ones that are used by the existing platform
device drivers I am aware of.  If you know of any additions to make to this
list for the 8323E let us know.

Chuck

^ permalink raw reply

* Re: USB flashdrive on Motorola MPC5200 (IceCube) board, linux  kernel 2.4.20
From: Igor Luri @ 2006-06-14 13:57 UTC (permalink / raw)
  To: Furxhi, Orges; +Cc: linuxppc-embedded
In-Reply-To: <162B449665D6D643AD9E1D50FC6F4B1403F16CAE@mdcexc05.na.ops.local>

It is posible that your kernel uses old USB code. We also have an 
Icecube board, the same board a yours, with linux 2.4.25 version from 
DENX and USB works well.

You can try with this kernel:

ftp://ftp.denx.de/pub/linux/linuxppc_2_4_devel-2006-04-06-1735.tar.bz2


Hope this helps.


Furxhi, Orges wrote:

>Thank you for your help.
>
>I am using a Memorex travel drive 2.0 (512 MB), and I also have a
>Intelligent Stick 2.0 from GE. 
>When I plug in the Memorex stick the following appears on the terminal :
>	# hub.c: new USB device builtin-1, assigned address 2
>	usb.c: USB device not accepting new address=2 (error=-110)
>	hub.c: new USB device builtin-1, assigned address 3
>	usb.c: USB device not accepting new address=3 (error=-110)
>
>When I plug in the GE stick nothing shows on the terminal, but when I remove
>it the following message comes up: 
>	# hub.c: connect-debounce failed, port 1 disabled
>
>Both the USB flash drives work on my Dell PC with RedHat 9.0 (2.4.20
>kernel).
>
>Orges
>  
>
>
>-----Original Message-----
>From: Igor Luri [mailto:iluri@fagorautomation.es] 
>Sent: Wednesday, June 14, 2006 3:07 AM
>To: Furxhi, Orges
>Cc: linuxppc-embedded@ozlabs.org
>Subject: Re: USB flashdrive on Motorola MPC5200 (IceCube) board, linux
>kernel 2.4.20
>
>What kind of USB flash drive are you using? Linux doesn't detect your 
>device.
>
>When you plug/unplug a USB device you have to get something like this:
>
>            hub.c: new USB device 0-1, assigned address 2
>            scsi0 : SCSI emulation for USB Mass Storage devices
>            Vendor: Model: USB DISK Pro Rev: 1.00
>            Type: Direct-Access ANSI SCSI revision: 02
>            Attached scsi removable disk sda at scsi0, channel 0, id 0,
>            lun 0
>            SCSI device sda: 240640 512-byte hdwr sectors (123 MB)
>            sda: Write Protect is off
>            sda: sda1
>
>            usb.c: USB disconnect on device 0-1 address 2
>
>
>Are you sure that this device is supported in your Linux configuration?
>
>
>
>Furxhi, Orges wrote:
>
>  
>
>>Hi all,
>>
>>I have been trying for days now to get my usb flashdrive to work on my 
>>Motorola MPC5200 (IceCube) board running on the 2.4.20 linux kernel. I 
>>have followed the instruction in this Flash Memory HOWTO article 
>>(http://www.tldp.org/HOWTO/Flash-Memory-HOWTO/index.html), but I have 
>>had no success.
>>
>>When I mount the usbfs filesystem (mount -t usbfs none /proc/bus/usb/) 
>>the following 3 items are created in the /proc/bus/usb/ directory:
>>
>>dr-xr-xr-x 1 root root 0 Jan 1 00:12 001
>>
>>-r--r--r-- 1 root root 0 Jan 1 00:12 devices
>>
>>-r--r--r-- 1 root root 0 Jan 1 00:12 drivers
>>
>># cat devices shows:
>>
>>T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
>>
>>B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
>>
>>D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
>>
>>P: Vendor=0000 ProdID=0000 Rev= 0.00
>>
>>S: Product=USB OHCI Root Hub
>>
>>S: SerialNumber=f0001000
>>
>>C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
>>
>>I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
>>
>>E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
>>
>># cat drivers shows
>>
>>usbdevfs
>>
>>hub
>>
>>usb-storage
>>
>>In the this Flash Memory-HOWTO it is mentioned that the usb-storage-x 
>>directory will be created in the /proc/scsi/ directory, but I do not 
>>see it on my system. Also the contents of /proc/scsi/scsi are 
>>"Attached devices: none".
>>
>>Following are my boot up messages:
>>
>>U-Boot 1.1.4 (Mar 21 2006 - 15:07:57)
>>
>>CPU: MPC5200 v1.2 at 462 MHz
>>
>>Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
>>
>>Board: Motorola MPC5200 (IceCube)
>>
>>I2C: 85 kHz, ready
>>
>>DRAM: 64 MB
>>
>>FLASH: 8 MB
>>
>>In: serial
>>
>>Out: serial
>>
>>Err: serial
>>
>>Net: FEC ETHERNET
>>
>>Type "run flash_nfs" to mount root filesystem over NFS
>>
>>Hit any key to stop autoboot: 0
>>
>>## Booting image at ff900000 ...
>>
>>Image Name: Linux-2.4.20_mvl31-lite5200
>>
>>Created: 2006-06-13 21:40:05 UTC
>>
>>Image Type: PowerPC Linux Kernel Image (gzip compressed)
>>
>>Data Size: 989480 Bytes = 966.3 kB
>>
>>Load Address: 00000000
>>
>>Entry Point: 00000000
>>
>>Verifying Checksum ... OK
>>
>>Uncompressing Kernel Image ... OK
>>
>>Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
>>
>>Linux version 2.4.20_mvl31-lite5200 (ofurxhi@mdc58503) (gcc version 
>>3.3.1 (Monta
>>
>>Vista 3.3.1-7.0.13.0500039 2005-01-12)) #11 Tue Jun 13 16:32:09 CDT 2006
>>
>>On node 0 totalpages: 16384
>>
>>zone(0): 16384 pages.
>>
>>zone(1): 0 pages.
>>
>>zone(2): 0 pages.
>>
>>Kernel command line: root=/dev/mtdblock2 rw rootfstype=jffs2 
>>ip=192.168.0.7:192.
>>
>>168.0.2:192.168.0.2:255.255.255.0:cpua::off
>>
>>frequencies: cpu=461995100, bus=131998608, ipb=65999304, pci=32999652
>>
>>Calibrating delay loop... 307.20 BogoMIPS
>>
>>Memory: 62460k available (1540k kernel code, 524k data, 240k init, 0k 
>>highmem)
>>
>>Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
>>
>>Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
>>
>>Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
>>
>>Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
>>
>>Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
>>
>>POSIX conformance testing by UNIFIX
>>
>>PCI: Probing PCI hardware
>>
>>PCI: Cannot allocate resource region 1 of device 00:00.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:01.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:02.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:03.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:04.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:05.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:06.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:07.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:08.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:09.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:0a.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:0b.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:0c.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:0d.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:0e.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:0f.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:10.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:11.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:12.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:13.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:14.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:15.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:16.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:17.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:18.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:19.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:1a.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:1b.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:1c.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:1d.0
>>
>>PCI: Cannot allocate resource region 1 of device 00:1e.0
>>
>>Linux NET4.0 for Linux 2.4
>>
>>Based upon Swansea University Computer Society NET3.039
>>
>>Initializing RT netlink socket
>>
>>LSP Revision 52
>>
>>ikconfig 0.5 with /proc/ikconfig
>>
>>Starting kswapd
>>
>>Disabling the Out Of Memory Killer
>>
>>Journalled Block Device driver loaded
>>
>>devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
>>
>>devfs: boot_options: 0x1
>>
>>JFFS version 1.0, (C) 1999, 2000 Axis Communications AB
>>
>>JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis 
>>Communications
>>
>>AB.
>>
>>pty: 256 Unix98 ptys configured
>>
>>RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
>>
>>loop: loaded (max 8 devices)
>>
>>Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
>>
>>SCSI subsystem driver Revision: 1.00
>>
>>kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
>>
>>kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
>>
>>NO QRY response
>>
>>cfi_cmdset_0001: Erase suspend on write enabled
>>
>>Using buffer write method
>>
>>Icecube flash bank 0: Using static image partition definition
>>
>>Creating 3 MTD partitions on "Icecube Bank 0":
>>
>>0x00000000-0x00100000 : "u-boot"
>>
>>0x00100000-0x00200000 : "kernel"
>>
>>0x00200000-0x00800000 : "jffs2"
>>
>>usb.c: registered new driver usbdevfs
>>
>>usb.c: registered new driver hub
>>
>>usb-ohci.c: USB OHCI at membase 0xf0001000, IRQ 44
>>
>>usb.c: new USB bus registered, assigned bus number 1
>>
>>Product: USB OHCI Root Hub
>>
>>SerialNumber: f0001000
>>
>>hub.c: USB hub found
>>
>>hub.c: 2 ports detected
>>
>>Initializing USB Mass Storage driver...
>>
>>usb.c: registered new driver usb-storage
>>
>>USB Mass Storage support registered.
>>
>>eth0: Phy @ 0x0, type LXT971 (0x001378e2)
>>
>>NET4: Linux TCP/IP 1.0 for NET4.0
>>
>>IP Protocols: ICMP, UDP, TCP, IGMP
>>
>>IP: routing cache hash table of 512 buckets, 4Kbytes
>>
>>TCP: Hash tables configured (established 4096 bind 8192)
>>
>>eth0: config: auto-negotiation off, 100HDX, 10HDX.
>>
>>IP-Config: Complete:
>>
>>device=eth0, addr=192.168.0.7, mask=255.255.255.0, gw=192.168.0.2,
>>
>>host=cpua, domain=, nis-domain=(none),
>>
>>bootserver=192.168.0.2, rootserver=192.168.0.2, rootpath=
>>
>>NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
>>
>>Empty flash at 0x0000fffc ends at 0x00010000
>>
>>CLEANMARKER node found at 0x00010000, not first node in block (0x00000000)
>>
>>Empty flash at 0x0002fffc ends at 0x00030000
>>
>>CLEANMARKER node found at 0x00030000, not first node in block (0x00020000)
>>
>>Empty flash at 0x0004fffc ends at 0x00050000
>>
>>CLEANMARKER node found at 0x00050000, not first node in block (0x00040000)
>>
>>Empty flash at 0x0006fffc ends at 0x00070000
>>
>>CLEANMARKER node found at 0x00070000, not first node in block (0x00060000)
>>
>>Empty flash at 0x0008fffc ends at 0x00090000
>>
>>CLEANMARKER node found at 0x00090000, not first node in block (0x00080000)
>>
>>Empty flash at 0x000afffc ends at 0x000b0000
>>
>>CLEANMARKER node found at 0x000b0000, not first node in block (0x000a0000)
>>
>>Empty flash at 0x000cfffc ends at 0x000d0000
>>
>>CLEANMARKER node found at 0x000d0000, not first node in block (0x000c0000)
>>
>>Empty flash at 0x000efffc ends at 0x000f0000
>>
>>CLEANMARKER node found at 0x000f0000, not first node in block (0x000e0000)
>>
>>Empty flash at 0x0010fffc ends at 0x00110000
>>
>>CLEANMARKER node found at 0x00110000, not first node in block (0x00100000)
>>
>>Empty flash at 0x0012fffc ends at 0x00130000
>>
>>CLEANMARKER node found at 0x00130000, not first node in block (0x00120000)
>>
>>Empty flash at 0x0014fffc ends at 0x00150000
>>
>>CLEANMARKER node found at 0x00150000, not first node in block (0x00140000)
>>
>>Empty flash at 0x0016fffc ends at 0x00170000
>>
>>CLEANMARKER node found at 0x00170000, not first node in block (0x00160000)
>>
>>Empty flash at 0x0018fffc ends at 0x00190000
>>
>>CLEANMARKER node found at 0x00190000, not first node in block (0x00180000)
>>
>>Empty flash at 0x001afffc ends at 0x001b0000
>>
>>CLEANMARKER node found at 0x001b0000, not first node in block (0x001a0000)
>>
>>Empty flash at 0x001cfffc ends at 0x001d0000
>>
>>CLEANMARKER node found at 0x001d0000, not first node in block (0x001c0000)
>>
>>Empty flash at 0x001efffc ends at 0x001f0000
>>
>>CLEANMARKER node found at 0x001f0000, not first node in block (0x001e0000)
>>
>>Empty flash at 0x0020fffc ends at 0x00210000
>>
>>CLEANMARKER node found at 0x00210000, not first node in block (0x00200000)
>>
>>Empty flash at 0x0022fffc ends at 0x00230000
>>
>>CLEANMARKER node found at 0x00230000, not first node in block (0x00220000)
>>
>>Empty flash at 0x0024fffc ends at 0x00250000
>>
>>CLEANMARKER node found at 0x00250000, not first node in block (0x00240000)
>>
>>Empty flash at 0x0026fffc ends at 0x00270000
>>
>>CLEANMARKER node found at 0x00270000, not first node in block (0x00260000)
>>
>>VFS: Mounted root (jffs2 filesystem).
>>
>>Mounted devfs on /dev
>>
>>Freeing unused kernel memory: 240k init
>>
>>serial console detected. Disabling virtual terminals.
>>
>>init started: BusyBox v0.60.3 (2004.01.09-22:53+0000) multi-call binary
>>
>>Initializing iocspi
>>
>>Warning: loading /lib/modules/iocspim.o will taint the kernel: no license
>>
>>See http://www.tux.org/lkml/#export-tainted for information about 
>>tainted modu
>>
>>les
>>
>>iocspi: release_20060418
>>
>>iocspi: major 254.
>>
>>Module iocspim loaded, with warnings
>>
>>Initializing canspi
>>
>>Warning: loading /lib/modules/canspim.o will taint the kernel: no license
>>
>>See http://www.tux.org/lkml/#export-tainted for information about 
>>tainted modu
>>
>>les
>>
>>canspi: init_module()
>>
>>canspi: init_module(): sema_init
>>
>>canspi: init_module(): register_chrdev
>>
>>canspi: major 253.
>>
>>canspi: micro_config()
>>
>>canspi: micro_config: PSC request_irq failed (0)
>>
>>canspi: micro_config psc=f0002400 cdm=f0000200 gpio=f0000b00 
>>portcfg=10051004
>>
>>Module canspim loaded, with warnings
>>
>>Initializing iocdrv
>>
>>Warning: loading /lib/modules/iocdrvm.o will taint the kernel: no license
>>
>>See http://www.tux.org/lkml/#export-tainted for information about 
>>tainted modu
>>
>>les
>>
>>iocdrv: release_20060502
>>
>>iocdrv: major 252.
>>
>>Module iocdrvm loaded, with warnings
>>
>>System initialized
>>
>>MontaVista(R) Linux(R) Professional Edition 3.1
>>
>>cpua login:
>>
>>Any help would be highly appreciated.
>>
>>Thank you,
>>
>>Orges Furxhi
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>Linuxppc-embedded mailing list
>>Linuxppc-embedded@ozlabs.org
>>https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>>
>>    
>>

^ permalink raw reply

* RE: USB flashdrive on Motorola MPC5200 (IceCube) board, linux ker nel 2.4.20
From: Furxhi, Orges @ 2006-06-14 13:23 UTC (permalink / raw)
  To: Igor Luri, Furxhi, Orges; +Cc: linuxppc-embedded


Thank you for your help.

I am using a Memorex travel drive 2.0 (512 MB), and I also have a
Intelligent Stick 2.0 from GE. 
When I plug in the Memorex stick the following appears on the terminal :
	# hub.c: new USB device builtin-1, assigned address 2
	usb.c: USB device not accepting new address=2 (error=-110)
	hub.c: new USB device builtin-1, assigned address 3
	usb.c: USB device not accepting new address=3 (error=-110)

When I plug in the GE stick nothing shows on the terminal, but when I remove
it the following message comes up: 
	# hub.c: connect-debounce failed, port 1 disabled

Both the USB flash drives work on my Dell PC with RedHat 9.0 (2.4.20
kernel).

Orges
  


-----Original Message-----
From: Igor Luri [mailto:iluri@fagorautomation.es] 
Sent: Wednesday, June 14, 2006 3:07 AM
To: Furxhi, Orges
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: USB flashdrive on Motorola MPC5200 (IceCube) board, linux
kernel 2.4.20

What kind of USB flash drive are you using? Linux doesn't detect your 
device.

When you plug/unplug a USB device you have to get something like this:

            hub.c: new USB device 0-1, assigned address 2
            scsi0 : SCSI emulation for USB Mass Storage devices
            Vendor: Model: USB DISK Pro Rev: 1.00
            Type: Direct-Access ANSI SCSI revision: 02
            Attached scsi removable disk sda at scsi0, channel 0, id 0,
            lun 0
            SCSI device sda: 240640 512-byte hdwr sectors (123 MB)
            sda: Write Protect is off
            sda: sda1

            usb.c: USB disconnect on device 0-1 address 2


Are you sure that this device is supported in your Linux configuration?



Furxhi, Orges wrote:

> Hi all,
>
> I have been trying for days now to get my usb flashdrive to work on my 
> Motorola MPC5200 (IceCube) board running on the 2.4.20 linux kernel. I 
> have followed the instruction in this Flash Memory HOWTO article 
> (http://www.tldp.org/HOWTO/Flash-Memory-HOWTO/index.html), but I have 
> had no success.
>
> When I mount the usbfs filesystem (mount -t usbfs none /proc/bus/usb/) 
> the following 3 items are created in the /proc/bus/usb/ directory:
>
> dr-xr-xr-x 1 root root 0 Jan 1 00:12 001
>
> -r--r--r-- 1 root root 0 Jan 1 00:12 devices
>
> -r--r--r-- 1 root root 0 Jan 1 00:12 drivers
>
> # cat devices shows:
>
> T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
>
> B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
>
> D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
>
> P: Vendor=0000 ProdID=0000 Rev= 0.00
>
> S: Product=USB OHCI Root Hub
>
> S: SerialNumber=f0001000
>
> C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
>
> I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
>
> E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
>
> # cat drivers shows
>
> usbdevfs
>
> hub
>
> usb-storage
>
> In the this Flash Memory-HOWTO it is mentioned that the usb-storage-x 
> directory will be created in the /proc/scsi/ directory, but I do not 
> see it on my system. Also the contents of /proc/scsi/scsi are 
> "Attached devices: none".
>
> Following are my boot up messages:
>
> U-Boot 1.1.4 (Mar 21 2006 - 15:07:57)
>
> CPU: MPC5200 v1.2 at 462 MHz
>
> Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
>
> Board: Motorola MPC5200 (IceCube)
>
> I2C: 85 kHz, ready
>
> DRAM: 64 MB
>
> FLASH: 8 MB
>
> In: serial
>
> Out: serial
>
> Err: serial
>
> Net: FEC ETHERNET
>
> Type "run flash_nfs" to mount root filesystem over NFS
>
> Hit any key to stop autoboot: 0
>
> ## Booting image at ff900000 ...
>
> Image Name: Linux-2.4.20_mvl31-lite5200
>
> Created: 2006-06-13 21:40:05 UTC
>
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
>
> Data Size: 989480 Bytes = 966.3 kB
>
> Load Address: 00000000
>
> Entry Point: 00000000
>
> Verifying Checksum ... OK
>
> Uncompressing Kernel Image ... OK
>
> Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
>
> Linux version 2.4.20_mvl31-lite5200 (ofurxhi@mdc58503) (gcc version 
> 3.3.1 (Monta
>
> Vista 3.3.1-7.0.13.0500039 2005-01-12)) #11 Tue Jun 13 16:32:09 CDT 2006
>
> On node 0 totalpages: 16384
>
> zone(0): 16384 pages.
>
> zone(1): 0 pages.
>
> zone(2): 0 pages.
>
> Kernel command line: root=/dev/mtdblock2 rw rootfstype=jffs2 
> ip=192.168.0.7:192.
>
> 168.0.2:192.168.0.2:255.255.255.0:cpua::off
>
> frequencies: cpu=461995100, bus=131998608, ipb=65999304, pci=32999652
>
> Calibrating delay loop... 307.20 BogoMIPS
>
> Memory: 62460k available (1540k kernel code, 524k data, 240k init, 0k 
> highmem)
>
> Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
>
> Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
>
> Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
>
> Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
>
> Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
>
> POSIX conformance testing by UNIFIX
>
> PCI: Probing PCI hardware
>
> PCI: Cannot allocate resource region 1 of device 00:00.0
>
> PCI: Cannot allocate resource region 1 of device 00:01.0
>
> PCI: Cannot allocate resource region 1 of device 00:02.0
>
> PCI: Cannot allocate resource region 1 of device 00:03.0
>
> PCI: Cannot allocate resource region 1 of device 00:04.0
>
> PCI: Cannot allocate resource region 1 of device 00:05.0
>
> PCI: Cannot allocate resource region 1 of device 00:06.0
>
> PCI: Cannot allocate resource region 1 of device 00:07.0
>
> PCI: Cannot allocate resource region 1 of device 00:08.0
>
> PCI: Cannot allocate resource region 1 of device 00:09.0
>
> PCI: Cannot allocate resource region 1 of device 00:0a.0
>
> PCI: Cannot allocate resource region 1 of device 00:0b.0
>
> PCI: Cannot allocate resource region 1 of device 00:0c.0
>
> PCI: Cannot allocate resource region 1 of device 00:0d.0
>
> PCI: Cannot allocate resource region 1 of device 00:0e.0
>
> PCI: Cannot allocate resource region 1 of device 00:0f.0
>
> PCI: Cannot allocate resource region 1 of device 00:10.0
>
> PCI: Cannot allocate resource region 1 of device 00:11.0
>
> PCI: Cannot allocate resource region 1 of device 00:12.0
>
> PCI: Cannot allocate resource region 1 of device 00:13.0
>
> PCI: Cannot allocate resource region 1 of device 00:14.0
>
> PCI: Cannot allocate resource region 1 of device 00:15.0
>
> PCI: Cannot allocate resource region 1 of device 00:16.0
>
> PCI: Cannot allocate resource region 1 of device 00:17.0
>
> PCI: Cannot allocate resource region 1 of device 00:18.0
>
> PCI: Cannot allocate resource region 1 of device 00:19.0
>
> PCI: Cannot allocate resource region 1 of device 00:1a.0
>
> PCI: Cannot allocate resource region 1 of device 00:1b.0
>
> PCI: Cannot allocate resource region 1 of device 00:1c.0
>
> PCI: Cannot allocate resource region 1 of device 00:1d.0
>
> PCI: Cannot allocate resource region 1 of device 00:1e.0
>
> Linux NET4.0 for Linux 2.4
>
> Based upon Swansea University Computer Society NET3.039
>
> Initializing RT netlink socket
>
> LSP Revision 52
>
> ikconfig 0.5 with /proc/ikconfig
>
> Starting kswapd
>
> Disabling the Out Of Memory Killer
>
> Journalled Block Device driver loaded
>
> devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
>
> devfs: boot_options: 0x1
>
> JFFS version 1.0, (C) 1999, 2000 Axis Communications AB
>
> JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis 
> Communications
>
> AB.
>
> pty: 256 Unix98 ptys configured
>
> RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
>
> loop: loaded (max 8 devices)
>
> Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
>
> SCSI subsystem driver Revision: 1.00
>
> kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
>
> kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
>
> NO QRY response
>
> cfi_cmdset_0001: Erase suspend on write enabled
>
> Using buffer write method
>
> Icecube flash bank 0: Using static image partition definition
>
> Creating 3 MTD partitions on "Icecube Bank 0":
>
> 0x00000000-0x00100000 : "u-boot"
>
> 0x00100000-0x00200000 : "kernel"
>
> 0x00200000-0x00800000 : "jffs2"
>
> usb.c: registered new driver usbdevfs
>
> usb.c: registered new driver hub
>
> usb-ohci.c: USB OHCI at membase 0xf0001000, IRQ 44
>
> usb.c: new USB bus registered, assigned bus number 1
>
> Product: USB OHCI Root Hub
>
> SerialNumber: f0001000
>
> hub.c: USB hub found
>
> hub.c: 2 ports detected
>
> Initializing USB Mass Storage driver...
>
> usb.c: registered new driver usb-storage
>
> USB Mass Storage support registered.
>
> eth0: Phy @ 0x0, type LXT971 (0x001378e2)
>
> NET4: Linux TCP/IP 1.0 for NET4.0
>
> IP Protocols: ICMP, UDP, TCP, IGMP
>
> IP: routing cache hash table of 512 buckets, 4Kbytes
>
> TCP: Hash tables configured (established 4096 bind 8192)
>
> eth0: config: auto-negotiation off, 100HDX, 10HDX.
>
> IP-Config: Complete:
>
> device=eth0, addr=192.168.0.7, mask=255.255.255.0, gw=192.168.0.2,
>
> host=cpua, domain=, nis-domain=(none),
>
> bootserver=192.168.0.2, rootserver=192.168.0.2, rootpath=
>
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
>
> Empty flash at 0x0000fffc ends at 0x00010000
>
> CLEANMARKER node found at 0x00010000, not first node in block (0x00000000)
>
> Empty flash at 0x0002fffc ends at 0x00030000
>
> CLEANMARKER node found at 0x00030000, not first node in block (0x00020000)
>
> Empty flash at 0x0004fffc ends at 0x00050000
>
> CLEANMARKER node found at 0x00050000, not first node in block (0x00040000)
>
> Empty flash at 0x0006fffc ends at 0x00070000
>
> CLEANMARKER node found at 0x00070000, not first node in block (0x00060000)
>
> Empty flash at 0x0008fffc ends at 0x00090000
>
> CLEANMARKER node found at 0x00090000, not first node in block (0x00080000)
>
> Empty flash at 0x000afffc ends at 0x000b0000
>
> CLEANMARKER node found at 0x000b0000, not first node in block (0x000a0000)
>
> Empty flash at 0x000cfffc ends at 0x000d0000
>
> CLEANMARKER node found at 0x000d0000, not first node in block (0x000c0000)
>
> Empty flash at 0x000efffc ends at 0x000f0000
>
> CLEANMARKER node found at 0x000f0000, not first node in block (0x000e0000)
>
> Empty flash at 0x0010fffc ends at 0x00110000
>
> CLEANMARKER node found at 0x00110000, not first node in block (0x00100000)
>
> Empty flash at 0x0012fffc ends at 0x00130000
>
> CLEANMARKER node found at 0x00130000, not first node in block (0x00120000)
>
> Empty flash at 0x0014fffc ends at 0x00150000
>
> CLEANMARKER node found at 0x00150000, not first node in block (0x00140000)
>
> Empty flash at 0x0016fffc ends at 0x00170000
>
> CLEANMARKER node found at 0x00170000, not first node in block (0x00160000)
>
> Empty flash at 0x0018fffc ends at 0x00190000
>
> CLEANMARKER node found at 0x00190000, not first node in block (0x00180000)
>
> Empty flash at 0x001afffc ends at 0x001b0000
>
> CLEANMARKER node found at 0x001b0000, not first node in block (0x001a0000)
>
> Empty flash at 0x001cfffc ends at 0x001d0000
>
> CLEANMARKER node found at 0x001d0000, not first node in block (0x001c0000)
>
> Empty flash at 0x001efffc ends at 0x001f0000
>
> CLEANMARKER node found at 0x001f0000, not first node in block (0x001e0000)
>
> Empty flash at 0x0020fffc ends at 0x00210000
>
> CLEANMARKER node found at 0x00210000, not first node in block (0x00200000)
>
> Empty flash at 0x0022fffc ends at 0x00230000
>
> CLEANMARKER node found at 0x00230000, not first node in block (0x00220000)
>
> Empty flash at 0x0024fffc ends at 0x00250000
>
> CLEANMARKER node found at 0x00250000, not first node in block (0x00240000)
>
> Empty flash at 0x0026fffc ends at 0x00270000
>
> CLEANMARKER node found at 0x00270000, not first node in block (0x00260000)
>
> VFS: Mounted root (jffs2 filesystem).
>
> Mounted devfs on /dev
>
> Freeing unused kernel memory: 240k init
>
> serial console detected. Disabling virtual terminals.
>
> init started: BusyBox v0.60.3 (2004.01.09-22:53+0000) multi-call binary
>
> Initializing iocspi
>
> Warning: loading /lib/modules/iocspim.o will taint the kernel: no license
>
> See http://www.tux.org/lkml/#export-tainted for information about 
> tainted modu
>
> les
>
> iocspi: release_20060418
>
> iocspi: major 254.
>
> Module iocspim loaded, with warnings
>
> Initializing canspi
>
> Warning: loading /lib/modules/canspim.o will taint the kernel: no license
>
> See http://www.tux.org/lkml/#export-tainted for information about 
> tainted modu
>
> les
>
> canspi: init_module()
>
> canspi: init_module(): sema_init
>
> canspi: init_module(): register_chrdev
>
> canspi: major 253.
>
> canspi: micro_config()
>
> canspi: micro_config: PSC request_irq failed (0)
>
> canspi: micro_config psc=f0002400 cdm=f0000200 gpio=f0000b00 
> portcfg=10051004
>
> Module canspim loaded, with warnings
>
> Initializing iocdrv
>
> Warning: loading /lib/modules/iocdrvm.o will taint the kernel: no license
>
> See http://www.tux.org/lkml/#export-tainted for information about 
> tainted modu
>
> les
>
> iocdrv: release_20060502
>
> iocdrv: major 252.
>
> Module iocdrvm loaded, with warnings
>
> System initialized
>
> MontaVista(R) Linux(R) Professional Edition 3.1
>
> cpua login:
>
> Any help would be highly appreciated.
>
> Thank you,
>
> Orges Furxhi
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Linuxppc-embedded mailing list
>Linuxppc-embedded@ozlabs.org
>https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>

^ permalink raw reply

* RE: No ttyS device at I/O port 0xfe004500 for console
From: Joakim Tjernlund @ 2006-06-14 12:37 UTC (permalink / raw)
  To: Alex Zeffertt, Kumar Gala; +Cc: linuxppc-embedded

=20
> Kumar Gala wrote:
> >> Here you go:
> >=20
> > Let me know if this fixes the issues you guys are seeing=20
> with your 83xx=20
> > boards.  If so, I'll clean up this patch and push it upstream.
> >=20
> > - k
>=20
>=20
> Great, thank you!
>=20
> Your patch and the params "console=3Duart,io,0xfe004500=20
> console=3DttyS0" in
> the kernel command line do the trick.

I think you should loose the "console=3Duart,io,0xfe004500", don't think
it is needed
sine the "console=3DttyS0" will override it.

>=20
> Alex
>=20
>=20
> >> +        .device_list    =3D (enum ppc_sys_devices[])
> >> +        {
> >> +            MPC83xx_IIC1, MPC83xx_DUART,
> >> +#ifdef CONFIG_QE
> >> +            MPC83xx_QE_UCC3, MPC83xx_QE_UCC4,
> >> +#endif
> >> +        },
> >> +    },
> >>      {    /* default match */
> >>          .ppc_sys_name    =3D "",
> >>          .mask         =3D 0x00000000,

This device list appears to be common to all 8323E CPUs and to me this
looks
like a board unique list. Seems to that this list is better off in the=20
mpc832xe_mds.c board file. That would make it easier for custom boards I
think.

 Jocke

^ permalink raw reply

* [PATCH] ppc32: fix CPCI405 board support
From: Matthias Fuchs @ 2006-06-14 12:24 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: paulus

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

Hi,

this patch brings the CPCI405 board support up to date and fixes several 
outstanding issues:

      -add bios_fixup()
      -enable RTC only when CONFIG_GEN_RTC defined
      -corrected CompactPCI interrupt map
      -added cpci405_early_serial_map for correct UART clocking
      -removed unused code

Matthias

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>



[-- Attachment #2: cpci405_uptodate_2006_06_14.patch --]
[-- Type: text/plain, Size: 8838 bytes --]

Bring CPCI405 board support up to date
    -add bios_fixup()
    -enable RTC only when CONFIG_GEN_RTC defined
    -corrected CompactPCI interrupt map
    -added cpci405_early_serial_map for correct UART clocking
    -removed unused code

---
commit dc0ce6e05de6309219d9c97bcfdf7a632fcbc57b
tree b9265b8ec2935a5a8a8890a81f8bb2b381920bf3
parent 128e6ced247cda88f96fa9f2e4ba8b2c4a681560
author Matthias Fuchs <matthias.fuchs@esd-electronics.com> Wed, 14 Jun 2006 09:26:32 +0200
committer Matthias Fuchs <matthias.fuchs@esd-electronics.com> Wed, 14 Jun 2006 09:26:32 +0200

 arch/ppc/platforms/4xx/Kconfig   |    2 -
 arch/ppc/platforms/4xx/cpci405.c |  139 +++++++++++++++++++++++++++++++++++---
 arch/ppc/platforms/4xx/cpci405.h |   30 +++-----
 3 files changed, 140 insertions(+), 31 deletions(-)

diff --git a/arch/ppc/platforms/4xx/Kconfig b/arch/ppc/platforms/4xx/Kconfig
index 174ddbc..293bd48 100644
--- a/arch/ppc/platforms/4xx/Kconfig
+++ b/arch/ppc/platforms/4xx/Kconfig
@@ -183,7 +183,7 @@ config IBM_EMAC4
 
 config BIOS_FIXUP
 	bool
-	depends on BUBINGA || EP405 || SYCAMORE || WALNUT
+	depends on BUBINGA || EP405 || SYCAMORE || WALNUT || CPCI405
 	default y
 
 # OAK doesn't exist but wanted to keep this around for any future 403GCX boards
diff --git a/arch/ppc/platforms/4xx/cpci405.c b/arch/ppc/platforms/4xx/cpci405.c
index 6571e39..42cb3f6 100644
--- a/arch/ppc/platforms/4xx/cpci405.c
+++ b/arch/ppc/platforms/4xx/cpci405.c
@@ -1,10 +1,12 @@
 /*
  * Board setup routines for the esd CPCI-405 cPCI Board.
  *
- * Author: Stefan Roese
- *         stefan.roese@esd-electronics.com
+ * Copyright 2001-2006 esd electronic system design - hannover germany
  *
- * Copyright 2001 esd electronic system design - hannover germany
+ * Authors: Matthias Fuchs
+ *          matthias.fuchs@esd-electronics.com
+ *          Stefan Roese
+ *          stefan.roese@esd-electronics.com
  *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
@@ -20,9 +22,17 @@ #include <asm/system.h>
 #include <asm/pci-bridge.h>
 #include <asm/machdep.h>
 #include <asm/todc.h>
+#include <linux/serial.h>
+#include <linux/serial_core.h>
 #include <asm/ocp.h>
+#include <asm/ibm_ocp_pci.h>
+#include <platforms/4xx/ibm405gp.h>
 
+#ifdef CONFIG_GEN_RTC
 void *cpci405_nvram;
+#endif
+
+extern bd_t __res;
 
 /*
  * Some IRQs unique to CPCI-405.
@@ -36,18 +46,69 @@ ppc405_map_irq(struct pci_dev *dev, unsi
 	 *      A       B       C       D
 	 */
 	{
-		{28,	28,	28,	28},	/* IDSEL 15 - cPCI slot 8 */
-		{29,	29,	29,	29},	/* IDSEL 16 - cPCI slot 7 */
-		{30,	30,	30,	30},	/* IDSEL 17 - cPCI slot 6 */
-		{27,	27,	27,	27},	/* IDSEL 18 - cPCI slot 5 */
-		{28,	28,	28,	28},	/* IDSEL 19 - cPCI slot 4 */
-		{29,	29,	29,	29},	/* IDSEL 20 - cPCI slot 3 */
-		{30,	30,	30,	30},	/* IDSEL 21 - cPCI slot 2 */
+		{28,	29,	30,	27},	/* IDSEL 15 - cPCI slot 8 */
+		{29,	30,	27,	28},	/* IDSEL 16 - cPCI slot 7 */
+		{30,	27,	28,	29},	/* IDSEL 17 - cPCI slot 6 */
+		{27,	28,	29,	30},	/* IDSEL 18 - cPCI slot 5 */
+		{28,	29,	30,	27},	/* IDSEL 19 - cPCI slot 4 */
+		{29,	30,	27,	28},	/* IDSEL 20 - cPCI slot 3 */
+		{30,	27,	28,	29},	/* IDSEL 21 - cPCI slot 2 */
         };
 	const long min_idsel = 15, max_idsel = 21, irqs_per_slot = 4;
 	return PCI_IRQ_TABLE_LOOKUP;
 };
 
+/* The serial clock for the chip is an internal clock determined by
+ * different clock speeds/dividers.
+ * Calculate the proper input baud rate and setup the serial driver.
+ */
+static void __init
+cpci405_early_serial_map(void)
+{
+	u32 uart_div;
+	int uart_clock;
+	struct uart_port port;
+
+         /* Calculate the serial clock input frequency
+          *
+          * The uart clock is the cpu frequency (provided in the board info
+          * structure) divided by the external UART Divisor.
+          */
+	uart_div = ((mfdcr(DCRN_CHCR_BASE) & CHR0_UDIV) >> 1) + 1;
+	uart_clock = __res.bi_procfreq / uart_div;
+
+	/* Setup serial port access */
+	memset(&port, 0, sizeof(port));
+#if defined(CONFIG_UART0_TTYS0)
+	port.membase = (void*)UART0_IO_BASE;
+	port.irq = UART0_INT;
+#else
+	port.membase = (void*)UART1_IO_BASE;
+	port.irq = UART1_INT;
+#endif
+	port.uartclk = uart_clock;
+	port.regshift = 0;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+	port.line = 0;
+
+	if (early_serial_setup(&port) != 0) {
+		printk("Early serial init of port 0 failed\n");
+	}
+#if defined(CONFIG_UART0_TTYS0)
+	port.membase = (void*)UART1_IO_BASE;
+	port.irq = UART1_INT;
+#else
+	port.membase = (void*)UART0_IO_BASE;
+	port.irq = UART0_INT;
+#endif
+	port.line = 1;
+
+	if (early_serial_setup(&port) != 0) {
+		printk("Early serial init of port 1 failed\n");
+	}
+}
+
 void __init
 cpci405_setup_arch(void)
 {
@@ -55,14 +116,68 @@ cpci405_setup_arch(void)
 
 	ibm_ocp_set_emac(0, 0);
 
-	TODC_INIT(TODC_TYPE_MK48T35, cpci405_nvram, cpci405_nvram, cpci405_nvram, 8);
+        cpci405_early_serial_map();
+
+#ifdef CONFIG_GEN_RTC
+	TODC_INIT(TODC_TYPE_MK48T35, 
+		  cpci405_nvram, cpci405_nvram, cpci405_nvram, 8);
+#endif
+}
+
+void __init
+bios_fixup(struct pci_controller *hose, struct pcil0_regs *pcip)
+{
+	unsigned int bar_response, bar;
+
+	/* Disable region first */
+	out_le32((void *) &(pcip->pmm[0].ma), 0x00000000);
+	/* PLB starting addr, PCI: 0x80000000 */
+	out_le32((void *) &(pcip->pmm[0].la), 0x80000000);
+	/* PCI start addr, 0x80000000 */
+	out_le32((void *) &(pcip->pmm[0].pcila), PPC405_PCI_MEM_BASE);
+	/* 512MB range of PLB to PCI */
+	out_le32((void *) &(pcip->pmm[0].pciha), 0x00000000);
+	/* Enable no pre-fetch, enable region */
+	out_le32((void *) &(pcip->pmm[0].ma), ((0xffffffff -
+						(PPC405_PCI_UPPER_MEM -
+						 PPC405_PCI_MEM_BASE)) | 0x01));
+
+	/* Disable region one */
+	out_le32((void *) &(pcip->pmm[1].ma), 0x00000000);
+	out_le32((void *) &(pcip->pmm[1].la), 0x00000000);
+	out_le32((void *) &(pcip->pmm[1].pcila), 0x00000000);
+	out_le32((void *) &(pcip->pmm[1].pciha), 0x00000000);
+	out_le32((void *) &(pcip->pmm[1].ma), 0x00000000);
+	out_le32((void *) &(pcip->ptm1ms), 0x00000001);
+
+	/* Disable region two */
+	out_le32((void *) &(pcip->pmm[2].ma), 0x00000000);
+	out_le32((void *) &(pcip->pmm[2].la), 0x00000000);
+	out_le32((void *) &(pcip->pmm[2].pcila), 0x00000000);
+	out_le32((void *) &(pcip->pmm[2].pciha), 0x00000000);
+	out_le32((void *) &(pcip->pmm[2].ma), 0x00000000);
+	out_le32((void *) &(pcip->ptm2ms), 0x00000000);
+	out_le32((void *) &(pcip->ptm2la), 0x00000000);
+
+	/* Zero config bars */
+	for (bar = PCI_BASE_ADDRESS_1; bar <= PCI_BASE_ADDRESS_2; bar += 4) {
+		early_write_config_dword(hose, hose->first_busno,
+					 PCI_FUNC(hose->first_busno), bar,
+					 0x00000000);
+		early_read_config_dword(hose, hose->first_busno,
+					PCI_FUNC(hose->first_busno), bar,
+					&bar_response);
+	}
 }
 
 void __init
 cpci405_map_io(void)
 {
 	ppc4xx_map_io();
+
+#ifdef CONFIG_GEN_RTC
 	cpci405_nvram = ioremap(CPCI405_NVRAM_PADDR, CPCI405_NVRAM_SIZE);
+#endif
 }
 
 void __init
@@ -74,9 +189,11 @@ platform_init(unsigned long r3, unsigned
 	ppc_md.setup_arch = cpci405_setup_arch;
 	ppc_md.setup_io_mappings = cpci405_map_io;
 
+#ifdef CONFIG_GEN_RTC
 	ppc_md.time_init = todc_time_init;
 	ppc_md.set_rtc_time = todc_set_rtc_time;
 	ppc_md.get_rtc_time = todc_get_rtc_time;
 	ppc_md.nvram_read_val = todc_direct_read_val;
 	ppc_md.nvram_write_val = todc_direct_write_val;
+#endif
 }
diff --git a/arch/ppc/platforms/4xx/cpci405.h b/arch/ppc/platforms/4xx/cpci405.h
index e27f7cb..f5a5c0c 100644
--- a/arch/ppc/platforms/4xx/cpci405.h
+++ b/arch/ppc/platforms/4xx/cpci405.h
@@ -1,37 +1,29 @@
 /*
  * CPCI-405 board specific definitions
  *
- * Copyright (c) 2001 Stefan Roese (stefan.roese@esd-electronics.com)
+ * Copyright 2001-2006 esd electronic system design - hannover germany
+ *
+ * Authors: Matthias Fuchs
+ *          matthias.fuchs@esd-electronics.com
+ *          Stefan Roese
+ *          stefan.roese@esd-electronics.com
  */
 
 #ifdef __KERNEL__
-#ifndef __ASM_CPCI405_H__
-#define __ASM_CPCI405_H__
+#ifndef __CPCI405_H__
+#define __CPCI405_H__
 
 #include <linux/config.h>
-
-/* We have a 405GP core */
 #include <platforms/4xx/ibm405gp.h>
-
 #include <asm/ppcboot.h>
 
-#ifndef __ASSEMBLY__
-/* Some 4xx parts use a different timebase frequency from the internal clock.
-*/
-#define bi_tbfreq bi_intfreq
-
 /* Map for the NVRAM space */
 #define CPCI405_NVRAM_PADDR	((uint)0xf0200000)
 #define CPCI405_NVRAM_SIZE	((uint)32*1024)
 
-#ifdef CONFIG_PPC405GP_INTERNAL_CLOCK
-#define BASE_BAUD		201600
-#else
-#define BASE_BAUD		691200
-#endif
+#define BASE_BAUD		0
 
-#define PPC4xx_MACHINE_NAME "esd CPCI-405"
+#define PPC4xx_MACHINE_NAME     "esd CPCI-405"
 
-#endif /* !__ASSEMBLY__ */
-#endif	/* __ASM_CPCI405_H__ */
+#endif	/* __CPCI405_H__ */
 #endif /* __KERNEL__ */



^ permalink raw reply related

* Re: Linux kernel 2.6 on IBM RS/6000 7025-F40
From: Christophe Simon @ 2006-06-14 11:43 UTC (permalink / raw)
  To: benh; +Cc: linuxppc-dev
In-Reply-To: <1149827915.12687.55.camel@localhost.localdomain>

Hi,

Sorry, I was long. I tried to boot my 7025-F40 with this kernel 
http://www.solinno.co.uk/7043-140/files/2.6.9-rc2/ (the novga version) but 
the I have a kernel panic while booting. Here's what is printed out on my 
terminal :

********************************************************************
loaded at:     01000400 0116BF4C
relocated to:  00800000 0096BB4C
zimage at:     00805A30 009623BC
avail ram:     00400000 00800000

Linux/PPC load: console=tty0 console=ttyS0 root=/dev/sda3
Uncompressing Linux...done.
Now booting the kernel
Total memory = 384MB; using 1024kB for hash table (at c0400000)
Linux version 2.6.9-rc2 (leigh@george) (gcc version 3.3.2) #5 Wed Sep 15 
14:43:1
9 BST 2004
PReP architecture
IBM planar ID: ff
MPIC at 0xdffc0000 (0x1ffc0000), length 0x00040000 mapped to 0xeffbf000
Built 1 zonelists
Kernel command line: console=tty0 console=ttyS0 root=/dev/sda3
OpenPIC Version 1.0 (4 CPUs and 16 IRQ sources) at effbf000
OpenPIC timer frequency is 4.166666 MHz
PID hash table entries: 2048 (order: 11, 32768 bytes)
time_init: decrementer frequency = 16.662524 MHz
Console: colour dummy device 80x25
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 385024k available (2240k kernel code, 1004k data, 164k init, 0k 
highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
NET: Registered protocol family 16
PCI: Probing PCI hardware
Machine check in kernel mode.
Caused by (from SRR1=c9030): Unknown values in msr
Oops: machine check, sig: 7 [#1]
NIP: C001AA28 LR: C02F8734 SP: C03F1F70 REGS: c03f1ec0 TRAP: 0200    Not 
tainted
MSR: 000c9030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
TASK = c082dba0[1] 'swapper' THREAD: c03f0000Last syscall: 120
GPR00: C02F8720 C03F1F70 C082DBA0 C0252DF8 C0252D7C C0330000 C0340000 
448FE150
GPR08: C0330000 C0330000 00000005 80800864 24000028 00000000 00000000 
00000000
GPR16: 00000000 00000000 00000000 00000000 A5040113 00000000 00000000 
00000000
GPR24: 00000000 00C1AA00 40000000 2F646576 00000000 C0330000 00000001 
00000000
Call trace: [c02f378c]  [c02ee690]  [c0003b8c]  [c000a96c]
Kernel panic - not syncing: Attempted to kill init!
<0>Rebooting in 180 seconds..
********************************************************************

After that I tried with a stock 2.6.16.19 kernel thinking that perhaps this 
machine was integrated, but noting appears on the terminal (not even the 
"Linux/PPC load:" statement...) and the server reboots, and reboots again...

Is it from any help ?

Is there something to do to have a working 2.6 kernel on an 7025-F40 ?

Thanks a lot

Christophe SIMON




>From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
>To: Christophe Simon <titof3000@hotmail.com>
>CC: linuxppc-dev@ozlabs.org
>Subject: Re: Linux kernel 2.6 on IBM RS/6000 7025-F40
>Date: Fri, 09 Jun 2006 14:38:35 +1000
>
>On Wed, 2006-06-07 at 15:30 +0000, Christophe Simon wrote:
> > Hi there,
> >
> > Did someone succeeded in compiling a running 2.6 kernel on an IBM 
>RS/6000
> > 7025-F40 (PReP arch) ? I have one of these machines, and it runs with a
> > 2.4.22 kernel built using the instructions gathered on
> > http://www.solinno.co.uk/7043-140/
> >
> > It seems that this machine is quite problematic.
> >
> > I tried to compile my own kernel with a stock 2.6.16.19, and after that
> > 2.6.7 patched with the files I found for the 2.6.7 (at
> > http://www.solinno.co.uk/7043-140/files/2.6.7/), but the system refuses 
>to
> > boot with those twoo kernels  (the machine reboots or freezes before 
>writing
> > any piece of information on the console...).
> >
> > The site seems not to move anymore, and I'd like to have a 2.6 kernel
> > running because of his better performances ans extended functionalities, 
>and
> > I'd like not to be stalled on 2.4.22 kernel...
> >
> > I crawled the web hours and hours (Google is my friend, but it didn't 
>help
> > me...) and I didn't find anything...
>
>I've successfully booted a 43p, I don't know about F40 though. What is
>the last message on the console when you try to boot the kernel ?
>
>Ben.
>
>

_________________________________________________________________
MSN Hotmail sur i-mode™ : envoyez et recevez des e-mails depuis votre 
téléphone portable ! http://www.msn.fr/hotmailimode/

^ permalink raw reply

* MMC/SD driver using SPI interface on MPC8248
From: Laurent Pinchart @ 2006-06-14  9:25 UTC (permalink / raw)
  To: linuxppc-embedded

Hi everybody,

I'm looking for an MMC/SD driver using the MPC8248 SPI interface. Does anyone 
know if such a driver exist, or if some code has already been written ?

If no such project exists, could anyone outline the basic architecture of such 
a driver ? As recent Linux kernels include an SPI class, I suppose I should 
write a generic MMC/SD-SPI driver which would work with any SPI controller, 
and write an SPI driver for the MPC8248 (which seem to have a similar 
interface to the already supported MPC83xx). How should the generic 
MMC/SD-SPI driver be mapped to specific SPI ports ?

Best regards,

Laurent Pinchart

^ permalink raw reply

* Re: No ttyS device at I/O port 0xfe004500 for console
From: Alex Zeffertt @ 2006-06-14  9:00 UTC (permalink / raw)
  To: Kumar Gala; +Cc: Joakim Tjernlund, linuxppc-embedded
In-Reply-To: <4E69849F-EC8B-48C0-9036-74EDCD14B2F5@kernel.crashing.org>

Kumar Gala wrote:
>> Here you go:
> 
> Let me know if this fixes the issues you guys are seeing with your 83xx 
> boards.  If so, I'll clean up this patch and push it upstream.
> 
> - k


Great, thank you!

Your patch and the params "console=uart,io,0xfe004500 console=ttyS0" in
the kernel command line do the trick.

Alex



> 
>> --- mpc83xx_sys.c-ORIG    2006-06-13 17:54:36.577339832 -0400
>> +++ mpc83xx_sys.c    2006-06-13 17:56:02.394293672 -0400
>> @@ -136,6 +136,23 @@ struct ppc_sys_spec ppc_sys_specs[] = {
>>  #endif
>>          },
>>      },
>> +    {
>> +        .ppc_sys_name    = "8323E",
>> +        .mask        = 0xFFFF0000,
>> +        .value        = 0x80620000,
>> +#ifdef CONFIG_QE
>> +        .num_devices    = 4,
>> +#else
>> +        .num_devices    = 2,
>> +#endif
>> +        .device_list    = (enum ppc_sys_devices[])
>> +        {
>> +            MPC83xx_IIC1, MPC83xx_DUART,
>> +#ifdef CONFIG_QE
>> +            MPC83xx_QE_UCC3, MPC83xx_QE_UCC4,
>> +#endif
>> +        },
>> +    },
>>      {    /* default match */
>>          .ppc_sys_name    = "",
>>          .mask         = 0x00000000,
>>
>>
>> Regards,
>> Chuck
>>
> 

^ permalink raw reply

* Re: No ttyS device at I/O port 0xfe004500 for console
From: Alex Zeffertt @ 2006-06-14  8:51 UTC (permalink / raw)
  To: Joakim Tjernlund; +Cc: linuxppc-embedded
In-Reply-To: <001001c68f2f$42f6e730$0e67a8c0@Jocke>

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

Joakim Tjernlund wrote:
>  
> 
>> -----Original Message-----
>> From: 
>> linuxppc-embedded-bounces+joakim.tjernlund=lumentis.se@ozlabs.
>> org 
>> [mailto:linuxppc-embedded-bounces+joakim.tjernlund=lumentis.se
>> @ozlabs.org] On Behalf Of Alex Zeffertt
>> Sent: den 13 juni 2006 18:48
>> To: linuxppc-embedded@ozlabs.org
>> Subject: No ttyS device at I/O port 0xfe004500 for console
>>
>> Hi list,
>>
>> I'm trying to boot a linux-2.6.11 kernel on a MPC83xx based 
>> board.  Through some experimentation I have found I need 
>> "console=uart,io,0xfe004500"
>> in the kernel command line in order to get any output over 
>> the serial port.
> 
> Alex, can you post your complete u-boot env(printenv). I am trying to do
> the same as you but I havn't gotten any output yet. I managed to wipe my
> u-boot & u-boot env and the docs arent that great :(
> 
>  Jocke
> 

No problem.

I just had to try absolutely *every* possible option for the console parameter.
Eventually this worked (for the early serial output only, not for /dev/console
output.)

See attached for my u-boot environment

Alex



[-- Attachment #2: u-boot.log --]
[-- Type: text/plain, Size: 1470 bytes --]

U-Boot 1.1.3 (FSL Development) (Jun 13 2006 - 14:01:25) MPC83XX
 
Clock configuration:
  Coherent System Bus:  132 MHz
  Core:                 264 MHz
  QE:                   198 MHz
  Local Bus Controller: 132 MHz
  Local Bus:             66 MHz
  DDR:                  264 MHz
  SEC:                  132 MHz
  I2C1:                 132 MHz
CPU: MPC8323E, Rev: 10 at 264 MHz
Board: Freescale MPC832XEPB
I2C:   ready
DRAM:
   DDR RAM: 128 MB
FLASH: 16 MB
In:    serial
Out:   serial
Err:   serial
Net:   FSL GETH0
Hit any key to stop autoboot:  0
=> printenv
ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;bootm $loadaddr $ramdiskaddr
bootdelay=6
loads_echo=1
loadaddr=200000
netdev=eth0
ramdiskaddr=400000
ramdiskfile=ramfs.83xx
ethact=FSL GETH0
ethaddr=00:04:9f:00:00:00
ipaddr=10.0.6.65
netmask=255.255.0.0
serverip=10.0.0.107
gatewayip=10.0.0.1
rootpath=/opt/eldk/ppc_6xx
bootfile=uImage
baudrate=9600
consoledev=uart,io,0xfe004500
bootargs=root=/dev/nfs rw nfsroot=10.0.0.107:/opt/eldk/ppc_6xx ip=10.0.6.65:10.0.0.107:10.0.0.1:255.255.0.0:eth0:off console=uart,io,0xfe004500
nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$netdev:off console=$consoledev $othbootargs;tftp $loadaddr $bootfile;bootm $loadaddr
bootcmd=run nfsboot
stdin=serial
stdout=serial
stderr=serial
 
Environment size: 871/8188 bytes
=>


^ permalink raw reply

* Re: No ttyS device at I/O port 0xfe004500 for console
From: Alex Zeffertt @ 2006-06-14  8:47 UTC (permalink / raw)
  To: Kumar Gala; +Cc: linuxppc-embedded
In-Reply-To: <2CFF4933-A9D2-4981-BD11-C38537CE193B@kernel.crashing.org>

Kumar Gala wrote:
> 
> On Jun 13, 2006, at 11:48 AM, Alex Zeffertt wrote:
> 
>> Hi list,
>>
>> I'm trying to boot a linux-2.6.11 kernel on a MPC83xx based board.  
>> Through
>> some experimentation I have found I need "console=uart,io,0xfe004500"
>> in the kernel command line in order to get any output over the serial
>> port.
>>
>> Half way through initialisation the kernel appears to swap from its 
>> "early"
>> 8250 serial driver to a "full" 8250 serial driver.  At this point it 
>> prints
>> "No ttyS device at I/O port 0xfe004500 for console" and there is no
>> further output.
>>
>> Does anyone have any idea what I may be doing wrong?
>>
>> BTW, here's the output that I do get.
> 
> Alex, where did you get this 2.6.11 kernel?  The public tree didn't have 
> support for 83xx in 2.6.11.  I'd suggest looking at using something 
> newer like 2.6.16 and see if you have the same issue.
> 
> - k

Hi Kumar, I got it from Freescale's MPC8323EMDS linux BSP.

As far as I am aware this is the only source which has support for this
board.  (Hopefully they will eventually upstream their changes!)

I'll have a look at 2.6.11 and see whether it is feasable to port
the board support to it.

Thanks,

Alex

^ permalink raw reply

* Re: 32 bit userland on G5
From: Johannes Berg @ 2006-06-14  8:35 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev list
In-Reply-To: <17551.16363.218140.484114@cargo.ozlabs.ibm.com>

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

On Wed, 2006-06-14 at 08:44 +1000, Paul Mackerras wrote:

> The elf_read_implies_exec() macro in include/asm-powerpc/elf.h
> achieves the same effect, I believe.

Even for mprotect()? It doesn't look like it does.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 793 bytes --]

^ permalink raw reply

* SMC2 uart problem when using SCC3 as hdlc
From: antonio.dibacco @ 2006-06-14  8:28 UTC (permalink / raw)
  To: linuxppc-embedded

I use an MPC880, SMC1 as uart, SMC2 as uart, SCC3 as HDLC are used. When I 
compile support for SCC3 hdlc in the kernel, the SMC2 stops working. It 
hangs, sometime kernel reboots.

Any relocation patch should be used?
As far as I know should not be needed! 

Bye,
Antonio.

^ permalink raw reply

* Re: USB flashdrive on Motorola MPC5200 (IceCube) board, linux kernel 2.4.20
From: Igor Luri @ 2006-06-14  8:06 UTC (permalink / raw)
  To: Furxhi, Orges; +Cc: linuxppc-embedded
In-Reply-To: <162B449665D6D643AD9E1D50FC6F4B1403F16C35@mdcexc05.na.ops.local>

What kind of USB flash drive are you using? Linux doesn't detect your 
device.

When you plug/unplug a USB device you have to get something like this:

            hub.c: new USB device 0-1, assigned address 2
            scsi0 : SCSI emulation for USB Mass Storage devices
            Vendor: Model: USB DISK Pro Rev: 1.00
            Type: Direct-Access ANSI SCSI revision: 02
            Attached scsi removable disk sda at scsi0, channel 0, id 0,
            lun 0
            SCSI device sda: 240640 512-byte hdwr sectors (123 MB)
            sda: Write Protect is off
            sda: sda1

            usb.c: USB disconnect on device 0-1 address 2


Are you sure that this device is supported in your Linux configuration?



Furxhi, Orges wrote:

> Hi all,
>
> I have been trying for days now to get my usb flashdrive to work on my 
> Motorola MPC5200 (IceCube) board running on the 2.4.20 linux kernel. I 
> have followed the instruction in this Flash Memory HOWTO article 
> (http://www.tldp.org/HOWTO/Flash-Memory-HOWTO/index.html), but I have 
> had no success.
>
> When I mount the usbfs filesystem (mount –t usbfs none /proc/bus/usb/) 
> the following 3 items are created in the /proc/bus/usb/ directory:
>
> dr-xr-xr-x 1 root root 0 Jan 1 00:12 001
>
> -r--r--r-- 1 root root 0 Jan 1 00:12 devices
>
> -r--r--r-- 1 root root 0 Jan 1 00:12 drivers
>
> # cat devices shows:
>
> T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
>
> B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
>
> D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
>
> P: Vendor=0000 ProdID=0000 Rev= 0.00
>
> S: Product=USB OHCI Root Hub
>
> S: SerialNumber=f0001000
>
> C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
>
> I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
>
> E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
>
> # cat drivers shows
>
> usbdevfs
>
> hub
>
> usb-storage
>
> In the this Flash Memory-HOWTO it is mentioned that the usb-storage-x 
> directory will be created in the /proc/scsi/ directory, but I do not 
> see it on my system. Also the contents of /proc/scsi/scsi are 
> “Attached devices: none”.
>
> Following are my boot up messages:
>
> U-Boot 1.1.4 (Mar 21 2006 - 15:07:57)
>
> CPU: MPC5200 v1.2 at 462 MHz
>
> Bus 132 MHz, IPB 66 MHz, PCI 33 MHz
>
> Board: Motorola MPC5200 (IceCube)
>
> I2C: 85 kHz, ready
>
> DRAM: 64 MB
>
> FLASH: 8 MB
>
> In: serial
>
> Out: serial
>
> Err: serial
>
> Net: FEC ETHERNET
>
> Type "run flash_nfs" to mount root filesystem over NFS
>
> Hit any key to stop autoboot: 0
>
> ## Booting image at ff900000 ...
>
> Image Name: Linux-2.4.20_mvl31-lite5200
>
> Created: 2006-06-13 21:40:05 UTC
>
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
>
> Data Size: 989480 Bytes = 966.3 kB
>
> Load Address: 00000000
>
> Entry Point: 00000000
>
> Verifying Checksum ... OK
>
> Uncompressing Kernel Image ... OK
>
> Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb
>
> Linux version 2.4.20_mvl31-lite5200 (ofurxhi@mdc58503) (gcc version 
> 3.3.1 (Monta
>
> Vista 3.3.1-7.0.13.0500039 2005-01-12)) #11 Tue Jun 13 16:32:09 CDT 2006
>
> On node 0 totalpages: 16384
>
> zone(0): 16384 pages.
>
> zone(1): 0 pages.
>
> zone(2): 0 pages.
>
> Kernel command line: root=/dev/mtdblock2 rw rootfstype=jffs2 
> ip=192.168.0.7:192.
>
> 168.0.2:192.168.0.2:255.255.255.0:cpua::off
>
> frequencies: cpu=461995100, bus=131998608, ipb=65999304, pci=32999652
>
> Calibrating delay loop... 307.20 BogoMIPS
>
> Memory: 62460k available (1540k kernel code, 524k data, 240k init, 0k 
> highmem)
>
> Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
>
> Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
>
> Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
>
> Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
>
> Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
>
> POSIX conformance testing by UNIFIX
>
> PCI: Probing PCI hardware
>
> PCI: Cannot allocate resource region 1 of device 00:00.0
>
> PCI: Cannot allocate resource region 1 of device 00:01.0
>
> PCI: Cannot allocate resource region 1 of device 00:02.0
>
> PCI: Cannot allocate resource region 1 of device 00:03.0
>
> PCI: Cannot allocate resource region 1 of device 00:04.0
>
> PCI: Cannot allocate resource region 1 of device 00:05.0
>
> PCI: Cannot allocate resource region 1 of device 00:06.0
>
> PCI: Cannot allocate resource region 1 of device 00:07.0
>
> PCI: Cannot allocate resource region 1 of device 00:08.0
>
> PCI: Cannot allocate resource region 1 of device 00:09.0
>
> PCI: Cannot allocate resource region 1 of device 00:0a.0
>
> PCI: Cannot allocate resource region 1 of device 00:0b.0
>
> PCI: Cannot allocate resource region 1 of device 00:0c.0
>
> PCI: Cannot allocate resource region 1 of device 00:0d.0
>
> PCI: Cannot allocate resource region 1 of device 00:0e.0
>
> PCI: Cannot allocate resource region 1 of device 00:0f.0
>
> PCI: Cannot allocate resource region 1 of device 00:10.0
>
> PCI: Cannot allocate resource region 1 of device 00:11.0
>
> PCI: Cannot allocate resource region 1 of device 00:12.0
>
> PCI: Cannot allocate resource region 1 of device 00:13.0
>
> PCI: Cannot allocate resource region 1 of device 00:14.0
>
> PCI: Cannot allocate resource region 1 of device 00:15.0
>
> PCI: Cannot allocate resource region 1 of device 00:16.0
>
> PCI: Cannot allocate resource region 1 of device 00:17.0
>
> PCI: Cannot allocate resource region 1 of device 00:18.0
>
> PCI: Cannot allocate resource region 1 of device 00:19.0
>
> PCI: Cannot allocate resource region 1 of device 00:1a.0
>
> PCI: Cannot allocate resource region 1 of device 00:1b.0
>
> PCI: Cannot allocate resource region 1 of device 00:1c.0
>
> PCI: Cannot allocate resource region 1 of device 00:1d.0
>
> PCI: Cannot allocate resource region 1 of device 00:1e.0
>
> Linux NET4.0 for Linux 2.4
>
> Based upon Swansea University Computer Society NET3.039
>
> Initializing RT netlink socket
>
> LSP Revision 52
>
> ikconfig 0.5 with /proc/ikconfig
>
> Starting kswapd
>
> Disabling the Out Of Memory Killer
>
> Journalled Block Device driver loaded
>
> devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
>
> devfs: boot_options: 0x1
>
> JFFS version 1.0, (C) 1999, 2000 Axis Communications AB
>
> JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis 
> Communications
>
> AB.
>
> pty: 256 Unix98 ptys configured
>
> RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
>
> loop: loaded (max 8 devices)
>
> Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
>
> SCSI subsystem driver Revision: 1.00
>
> kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
>
> kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
>
> NO QRY response
>
> cfi_cmdset_0001: Erase suspend on write enabled
>
> Using buffer write method
>
> Icecube flash bank 0: Using static image partition definition
>
> Creating 3 MTD partitions on "Icecube Bank 0":
>
> 0x00000000-0x00100000 : "u-boot"
>
> 0x00100000-0x00200000 : "kernel"
>
> 0x00200000-0x00800000 : "jffs2"
>
> usb.c: registered new driver usbdevfs
>
> usb.c: registered new driver hub
>
> usb-ohci.c: USB OHCI at membase 0xf0001000, IRQ 44
>
> usb.c: new USB bus registered, assigned bus number 1
>
> Product: USB OHCI Root Hub
>
> SerialNumber: f0001000
>
> hub.c: USB hub found
>
> hub.c: 2 ports detected
>
> Initializing USB Mass Storage driver...
>
> usb.c: registered new driver usb-storage
>
> USB Mass Storage support registered.
>
> eth0: Phy @ 0x0, type LXT971 (0x001378e2)
>
> NET4: Linux TCP/IP 1.0 for NET4.0
>
> IP Protocols: ICMP, UDP, TCP, IGMP
>
> IP: routing cache hash table of 512 buckets, 4Kbytes
>
> TCP: Hash tables configured (established 4096 bind 8192)
>
> eth0: config: auto-negotiation off, 100HDX, 10HDX.
>
> IP-Config: Complete:
>
> device=eth0, addr=192.168.0.7, mask=255.255.255.0, gw=192.168.0.2,
>
> host=cpua, domain=, nis-domain=(none),
>
> bootserver=192.168.0.2, rootserver=192.168.0.2, rootpath=
>
> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
>
> Empty flash at 0x0000fffc ends at 0x00010000
>
> CLEANMARKER node found at 0x00010000, not first node in block (0x00000000)
>
> Empty flash at 0x0002fffc ends at 0x00030000
>
> CLEANMARKER node found at 0x00030000, not first node in block (0x00020000)
>
> Empty flash at 0x0004fffc ends at 0x00050000
>
> CLEANMARKER node found at 0x00050000, not first node in block (0x00040000)
>
> Empty flash at 0x0006fffc ends at 0x00070000
>
> CLEANMARKER node found at 0x00070000, not first node in block (0x00060000)
>
> Empty flash at 0x0008fffc ends at 0x00090000
>
> CLEANMARKER node found at 0x00090000, not first node in block (0x00080000)
>
> Empty flash at 0x000afffc ends at 0x000b0000
>
> CLEANMARKER node found at 0x000b0000, not first node in block (0x000a0000)
>
> Empty flash at 0x000cfffc ends at 0x000d0000
>
> CLEANMARKER node found at 0x000d0000, not first node in block (0x000c0000)
>
> Empty flash at 0x000efffc ends at 0x000f0000
>
> CLEANMARKER node found at 0x000f0000, not first node in block (0x000e0000)
>
> Empty flash at 0x0010fffc ends at 0x00110000
>
> CLEANMARKER node found at 0x00110000, not first node in block (0x00100000)
>
> Empty flash at 0x0012fffc ends at 0x00130000
>
> CLEANMARKER node found at 0x00130000, not first node in block (0x00120000)
>
> Empty flash at 0x0014fffc ends at 0x00150000
>
> CLEANMARKER node found at 0x00150000, not first node in block (0x00140000)
>
> Empty flash at 0x0016fffc ends at 0x00170000
>
> CLEANMARKER node found at 0x00170000, not first node in block (0x00160000)
>
> Empty flash at 0x0018fffc ends at 0x00190000
>
> CLEANMARKER node found at 0x00190000, not first node in block (0x00180000)
>
> Empty flash at 0x001afffc ends at 0x001b0000
>
> CLEANMARKER node found at 0x001b0000, not first node in block (0x001a0000)
>
> Empty flash at 0x001cfffc ends at 0x001d0000
>
> CLEANMARKER node found at 0x001d0000, not first node in block (0x001c0000)
>
> Empty flash at 0x001efffc ends at 0x001f0000
>
> CLEANMARKER node found at 0x001f0000, not first node in block (0x001e0000)
>
> Empty flash at 0x0020fffc ends at 0x00210000
>
> CLEANMARKER node found at 0x00210000, not first node in block (0x00200000)
>
> Empty flash at 0x0022fffc ends at 0x00230000
>
> CLEANMARKER node found at 0x00230000, not first node in block (0x00220000)
>
> Empty flash at 0x0024fffc ends at 0x00250000
>
> CLEANMARKER node found at 0x00250000, not first node in block (0x00240000)
>
> Empty flash at 0x0026fffc ends at 0x00270000
>
> CLEANMARKER node found at 0x00270000, not first node in block (0x00260000)
>
> VFS: Mounted root (jffs2 filesystem).
>
> Mounted devfs on /dev
>
> Freeing unused kernel memory: 240k init
>
> serial console detected. Disabling virtual terminals.
>
> init started: BusyBox v0.60.3 (2004.01.09-22:53+0000) multi-call binary
>
> Initializing iocspi
>
> Warning: loading /lib/modules/iocspim.o will taint the kernel: no license
>
> See http://www.tux.org/lkml/#export-tainted for information about 
> tainted modu
>
> les
>
> iocspi: release_20060418
>
> iocspi: major 254.
>
> Module iocspim loaded, with warnings
>
> Initializing canspi
>
> Warning: loading /lib/modules/canspim.o will taint the kernel: no license
>
> See http://www.tux.org/lkml/#export-tainted for information about 
> tainted modu
>
> les
>
> canspi: init_module()
>
> canspi: init_module(): sema_init
>
> canspi: init_module(): register_chrdev
>
> canspi: major 253.
>
> canspi: micro_config()
>
> canspi: micro_config: PSC request_irq failed (0)
>
> canspi: micro_config psc=f0002400 cdm=f0000200 gpio=f0000b00 
> portcfg=10051004
>
> Module canspim loaded, with warnings
>
> Initializing iocdrv
>
> Warning: loading /lib/modules/iocdrvm.o will taint the kernel: no license
>
> See http://www.tux.org/lkml/#export-tainted for information about 
> tainted modu
>
> les
>
> iocdrv: release_20060502
>
> iocdrv: major 252.
>
> Module iocdrvm loaded, with warnings
>
> System initialized
>
> MontaVista(R) Linux(R) Professional Edition 3.1
>
> cpua login:
>
> Any help would be highly appreciated.
>
> Thank you,
>
> Orges Furxhi
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Linuxppc-embedded mailing list
>Linuxppc-embedded@ozlabs.org
>https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>

^ permalink raw reply

* Re: [PATCH 2/3] powerpc: Instrument Hypervisor Calls: add wrappers
From: Arnd Bergmann @ 2006-06-14  7:23 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Bryan Rosenburg, Christopher Yeoh
In-Reply-To: <20060614035258.GC6759@monkey.ibm.com>

T24gV2VkbmVzZGF5IDE0IEp1bmUgMjAwNiAwNTo1MiwgTWlrZSBLcmF2ZXR6IHdyb3RlOgoKPiCg
oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1bnNpZ25lZCBsb25nICpvdXQyLKCgoKCgoKCgoKCgoFI5
Cj4goKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgdW5zaWduZWQgbG9uZyAqb3V0Myk7oKCgoKCgoKCg
oKBSMTAKPiCgICovCj4gKyNpZmRlZiBDT05GSUdfSENBTExfU1RBVFMKPiArX0dMT0JBTChwbHBh
cl9oY2FsbF9iYXNlKQo+ICsjZWxzZQo+IKBfR0xPQkFMKHBscGFyX2hjYWxsKQo+ICsjZW5kaWYK
PiCgoKCgoKCgoEhNVF9NRURJVU0KPiCgCj4goKCgoKCgoKBtZmNyoKCgoHIwCgpUaGUgYXNzZW1i
bHkgZmlsZXMgYXJlIGFscmVhZHkgaGFyZCB0byByZWFkLiBDYW4gd2UgZG8gdGhpcyB3aXRob3V0
CmFuIGV4dHJhICNpZmRlZiBpbiB0aGVyZSBmb3IgZXZlcnkgY2FsbD8KTW9yZW92ZXIsIHdoZW4g
dXNpbmcgY3RhZ3Mgd2l0aCB5b3VyIHZlcnNpb24sIGxvb2tpbmcgZm9yIHBscGFyX2hjYWxsCndp
bGwgZmluZCB0aGUgaW5zdHJ1bWVudGVkIHZlcnNpb24gb25seSwgd2hpY2ggbWF5IGJlIGV4dHJh
IGNvbmZ1c2luZwp3aGVuIHRyeWluZyB0byB3b3JrIG91dCB0aGUgY2FsbCBjaGFpbi4KCj4gZGlm
ZiAtTmF1cHIgbGludXgtMi42LjE3LXJjNi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMv
aHZDYWxsX2luc3QuYyBsaW51eC0yLjYuMTctcmM2LndvcmsvYXJjaC9wb3dlcnBjL3BsYXRmb3Jt
cy9wc2VyaWVzL2h2Q2FsbF9pbnN0LmMKPiAtLS0gbGludXgtMi42LjE3LXJjNi9hcmNoL3Bvd2Vy
cGMvcGxhdGZvcm1zL3BzZXJpZXMvaHZDYWxsX2luc3QuYyAgICAgICAxOTcwLTAxLTAxIDAwOjAw
OjAwLjAwMDAwMDAwMCArMDAwMAo+ICsrKyBsaW51eC0yLjYuMTctcmM2LndvcmsvYXJjaC9wb3dl
cnBjL3BsYXRmb3Jtcy9wc2VyaWVzL2h2Q2FsbF9pbnN0LmMgIDIwMDYtMDYtMTMgMjE6Mzk6MjQu
MDAwMDAwMDAwICswMDAwCi4uLgo+ICtleHRlcm4gbG9uZyBwbHBhcl9oY2FsbF9iYXNlICh1bnNp
Z25lZCBsb25nIG9wY29kZSwKPiArIKAgoCCgIKAgoCCgIKAgoCB1bnNpZ25lZCBsb25nIGFyZzEs
Cj4gKyCgIKAgoCCgIKAgoCCgIKAgdW5zaWduZWQgbG9uZyBhcmcyLAo+ICsgoCCgIKAgoCCgIKAg
oCCgIHVuc2lnbmVkIGxvbmcgYXJnMywKPiArIKAgoCCgIKAgoCCgIKAgoCB1bnNpZ25lZCBsb25n
IGFyZzQsCj4gKyCgIKAgoCCgIKAgoCCgIKAgdW5zaWduZWQgbG9uZyAqb3V0MSwKPiArIKAgoCCg
IKAgoCCgIKAgoCB1bnNpZ25lZCBsb25nICpvdXQyLAo+ICsgoCCgIKAgoCCgIKAgoCCgIHVuc2ln
bmVkIGxvbmcgKm91dDMpOwoKQXQgdGhlIHNhbWUgdGltZSwgdGhlIGRlY2xhcmF0aW9ucyBzaG91
bGQgZ28gdG8gdGhlIGhlYWRlciBmaWxlLCBhcyB0aGV5CmFyZSBhbiBpbnRlcmZhY2UgYmV0d2Vl
biB0d28gZmlsZXMuCgo+ICtleHRlcm4gbG9uZyBwbHBhcl9oY2FsbF9ub3JldHNfYmFzZSh1bnNp
Z25lZCBsb25nIG9wY29kZSwgLi4uKTsKPiArCj4gK2xvbmcgcGxwYXJfaGNhbGxfbm9yZXRzX0Mo
dW5zaWduZWQgbG9uZyBvcGNvZGUsCj4gK6CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1
bnNpZ25lZCBsb25nIGFyZzEsCj4gK6CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1bnNp
Z25lZCBsb25nIGFyZzIsCj4gK6CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1bnNpZ25l
ZCBsb25nIGFyZzMsCj4gK6CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1bnNpZ25lZCBs
b25nIGFyZzQsCj4gK6CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1bnNpZ25lZCBsb25n
IGFyZzUsCj4gK6CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKB1bnNpZ25lZCBsb25nIGFy
ZzYpCj4gK3sKPiAroKCgoKCgoGxvbmcgcmM7Cj4gK6CgoKCgoKB1bnNpZ25lZCBsb25nIHRfYmVm
b3JlID0gbWZzcHIoU1BSTl9QVVJSKTsKPiArCj4gK6CgoKCgoKByYyA9IHBscGFyX2hjYWxsX25v
cmV0c19iYXNlKG9wY29kZSwgYXJnMSwgYXJnMiwgYXJnMywgYXJnNCwgYXJnNSwKPiAroKCgoKCg
oKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCCgIKAgYXJnNik7Cj4gKwo+ICugoKCgoKCgdXBkYXRl
X3N0YXRzKG9wY29kZSwgdF9iZWZvcmUpOwo+ICugoKCgoKCgcmV0dXJuIHJjOwo+ICt9CgpNYXli
ZSBhIGxpdHRsZSBjb21tZW50IGhpbnRpbmcgYWJvdXQgdGhlIG1hZ2ljIGdvaW5nIG9uIHVuZGVy
bmVhdGggdGhpcz8KCj4gZGlmZiAtTmF1cHIgbGludXgtMi42LjE3LXJjNi9pbmNsdWRlL2FzbS1w
b3dlcnBjL2h2Y2FsbC5oIGxpbnV4LTIuNi4xNy1yYzYud29yay9pbmNsdWRlL2FzbS1wb3dlcnBj
L2h2Y2FsbC5oCj4gLS0tIGxpbnV4LTIuNi4xNy1yYzYvaW5jbHVkZS9hc20tcG93ZXJwYy9odmNh
bGwuaKCgoKCgoKAyMDA2LTA2LTEzIDIxOjM4OjQ1LjAwMDAwMDAwMCArMDAwMAo+ICsrKyBsaW51
eC0yLjYuMTctcmM2LndvcmsvaW5jbHVkZS9hc20tcG93ZXJwYy9odmNhbGwuaKCgMjAwNi0wNi0x
MyAyMTozOToyNC4wMDAwMDAwMDAgKzAwMDAKPiBAQCAtMjkyLDYgKzI5MiwxMyBAQCBsb25nIHBs
cGFyX2hjYWxsXzlhcmdfOXJldCh1bnNpZ25lZCBsb25nCj4goKCgoKCgoKCgoKCgoKCgoKCgoKCg
oKCgIKAgdW5zaWduZWQgbG9uZyAqb3V0OCwKPiCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgoCB1
bnNpZ25lZCBsb25nICpvdXQ5KTsKPiCgCj4gKyNpZmRlZiBDT05GSUdfSENBTExfU1RBVFMKPiAr
c3RydWN0IGhjYWxsX3N0YXRzIHsKPiAroKCgoKCgoHVuc2lnbmVkIGxvbmegoKBudW1fY2FsbHM7
Cj4gK6CgoKCgoKB1bnNpZ25lZCBsb25noKCgdG90YWxfdGltZTsKPiArfTsKPiArI2VuZGlmIC8q
IENPTkZJR19IQ0FMTF9TVEFUUyAqLwo+ICsKClRoYXQgcmVhbGx5IHNob3VsZG4ndCBuZWVkICNp
ZmRlZi4gWW91IGNvdWxkIG1vdmUgaXQgdG8gaHZDYWxsX2luc3QuYwp0aG91Z2gsIHNpbmNlIGl0
IGFwcGVhcnMgdG8gYmUgdXNlZCBvbmx5IGluIHRoZXJlIChwYXRjaCAzLzMgaGFzbid0CmNvbWUg
dGhyb3VnaCB5ZXQsIGRvbid0IGtub3cgaWYgaXQncyB1c2VkIGVsc2V3aGVyZSBpbiB0aGF0KS4K
CglBcm5kIDw+PAo=

^ permalink raw reply

* Re: [PATCH] powerpc: Use soft irq-disable on all 64-bit machines
From: Stephen Rothwell @ 2006-06-14  7:23 UTC (permalink / raw)
  To: paulus; +Cc: linuxppc-dev
In-Reply-To: <20060614170840.3686cbad.sfr@canb.auug.org.au>

On Wed, 14 Jun 2006 17:08:40 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Looks good.  A couple of small fixes below.

Plus we want the below as well ...
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff --git a/include/asm-powerpc/hw_irq.h b/include/asm-powerpc/hw_irq.h
index db0ce76..dc5f1ec 100644
--- a/include/asm-powerpc/hw_irq.h
+++ b/include/asm-powerpc/hw_irq.h
@@ -8,6 +8,7 @@ #ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <linux/errno.h>
+#include <linux/compiler.h>
 #include <asm/ptrace.h>
 #include <asm/processor.h>
 
@@ -25,6 +26,7 @@ static inline unsigned long local_irq_di
 {
 	unsigned long flag = get_paca()->proc_enabled;
 	get_paca()->proc_enabled = 0;
+	barrier();
 	return flag;
 }
 

^ permalink raw reply related

* Re: [PATCH] powerpc: Use soft irq-disable on all 64-bit machines
From: Stephen Rothwell @ 2006-06-14  7:08 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <17551.33574.27019.305680@cargo.ozlabs.ibm.com>

On Wed, 14 Jun 2006 13:31:50 +1000 Paul Mackerras <paulus@samba.org> wrote:
>
> This patch extends the soft interrupt-disable strategy used on iSeries
> so that it applies to all 64-bit machines.  Basically, the idea is
> that local_irq_disable() and related functions don't actually change
> the MSR_EE (external interrupt enable) bit in the MSR, they just clear
> a per-cpu "interrupts enabled" flag.  If an interrupt does come along,
> the exception prolog code notices that interrupts are supposed to be
> disabled.  It then clears a per-cpu "interrupts are actually enabled"
> flag, and returns from the interrupt with MSR_EE clear.
> 
> Then, when interrupts later get enabled, we noticed that the
> "interrupts are actually enabled" flag got cleared, and set it and the
> MSR_EE bit in the MSR.
> 
> This should result in improved performance, since setting and clearing
> the MSR_EE bit in the MSR can be much more expensive than setting and
> clearing a per-cpu flag in memory.  This also reduces the
> iSeries-specific differences in the code.

Looks good.  A couple of small fixes below.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 26729e9..44b8cdc 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -370,7 +370,7 @@ #ifndef CONFIG_PPC_ISERIES
 #define DISABLE_INTS				\
 	li	r11,0;				\
 	stb	r11,PACAPROCENABLED(r13);	\
-	stb	r10,PACAHARDIRQEN(r13)
+	stb	r11,PACAHARDIRQEN(r13)
 #else
 #define DISABLE_INTS				\
 	li	r11,0;				\
diff --git a/include/asm-powerpc/hw_irq.h b/include/asm-powerpc/hw_irq.h
index f231264..db0ce76 100644
--- a/include/asm-powerpc/hw_irq.h
+++ b/include/asm-powerpc/hw_irq.h
@@ -44,12 +44,6 @@ #else
 #if defined(CONFIG_BOOKE)
 #define SET_MSR_EE(x)	mtmsr(x)
 #define local_irq_restore(flags)	__asm__ __volatile__("wrtee %0" : : "r" (flags) : "memory")
-#elif defined(__powerpc64__)
-#define SET_MSR_EE(x)	__mtmsrd(x, 1)
-#define local_irq_restore(flags) do { \
-	__asm__ __volatile__("": : :"memory"); \
-	__mtmsrd((flags), 1); \
-} while(0)
 #else
 #define SET_MSR_EE(x)	mtmsr(x)
 #define local_irq_restore(flags)	mtmsr(flags)

^ permalink raw reply related

* [PATCH 2/3] powerpc: Instrument Hypervisor Calls: add wrappers
From: Mike Kravetz @ 2006-06-14  3:52 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Bryan Rosenburg, Christopher Yeoh
In-Reply-To: <20060614034756.GA6759@monkey.ibm.com>

Add wrappers which perform the actual hypervisor call instrumentation.

-- 
Signed-off-by: Mike Kravetz <kravetz@us.ibm.com>


diff -Naupr linux-2.6.17-rc6/arch/powerpc/Kconfig.debug linux-2.6.17-rc6.work/arch/powerpc/Kconfig.debug
--- linux-2.6.17-rc6/arch/powerpc/Kconfig.debug	2006-06-06 00:57:02.000000000 +0000
+++ linux-2.6.17-rc6.work/arch/powerpc/Kconfig.debug	2006-06-13 21:39:24.000000000 +0000
@@ -18,6 +18,16 @@ config DEBUG_STACK_USAGE
 
 	  This option will slow down process creation somewhat.
 
+config HCALL_STATS
+	bool "Hypervisor call instrumentation"
+	depends on PPC_PSERIES
+	help
+	  Adds code to keep track of number of hypervisor calls made and
+	  the amount of time spent in hypervisor calls.
+
+	  This option will add a small amount of overhead to all hypervisor
+	  calls.
+
 config DEBUGGER
 	bool "Enable debugger hooks"
 	depends on DEBUG_KERNEL
diff -Naupr linux-2.6.17-rc6/arch/powerpc/platforms/pseries/Makefile linux-2.6.17-rc6.work/arch/powerpc/platforms/pseries/Makefile
--- linux-2.6.17-rc6/arch/powerpc/platforms/pseries/Makefile	2006-06-06 00:57:02.000000000 +0000
+++ linux-2.6.17-rc6.work/arch/powerpc/platforms/pseries/Makefile	2006-06-13 21:39:24.000000000 +0000
@@ -9,3 +9,4 @@ obj-$(CONFIG_EEH)	+= eeh.o eeh_cache.o e
 
 obj-$(CONFIG_HVC_CONSOLE)	+= hvconsole.o
 obj-$(CONFIG_HVCS)		+= hvcserver.o
+obj-$(CONFIG_HCALL_STATS)	+= hvCall_inst.o
diff -Naupr linux-2.6.17-rc6/arch/powerpc/platforms/pseries/hvCall.S linux-2.6.17-rc6.work/arch/powerpc/platforms/pseries/hvCall.S
--- linux-2.6.17-rc6/arch/powerpc/platforms/pseries/hvCall.S	2006-06-06 00:57:02.000000000 +0000
+++ linux-2.6.17-rc6.work/arch/powerpc/platforms/pseries/hvCall.S	2006-06-13 21:39:24.000000000 +0000
@@ -25,7 +25,11 @@
 			unsigned long *out2,		R9
 			unsigned long *out3);		R10
  */
+#ifdef CONFIG_HCALL_STATS
+_GLOBAL(plpar_hcall_base)
+#else
 _GLOBAL(plpar_hcall)
+#endif
 	HMT_MEDIUM
 
 	mfcr	r0
@@ -52,7 +56,15 @@ _GLOBAL(plpar_hcall)
 
 
 /* Simple interface with no output values (other than status) */
+#ifdef CONFIG_HCALL_STATS
 _GLOBAL(plpar_hcall_norets)
+	b	plpar_hcall_norets_C
+
+
+_GLOBAL(plpar_hcall_norets_base)
+#else
+_GLOBAL(plpar_hcall_norets)
+#endif
 	HMT_MEDIUM
 
 	mfcr	r0
@@ -76,7 +88,11 @@ _GLOBAL(plpar_hcall_norets)
 			unsigned long arg8,		112(R1)
 			unsigned long *out1);		120(R1)
  */
+#ifdef CONFIG_HCALL_STATS
+_GLOBAL(plpar_hcall_8arg_2ret_base)
+#else
 _GLOBAL(plpar_hcall_8arg_2ret)
+#endif
 	HMT_MEDIUM
 
 	mfcr	r0
@@ -102,7 +118,11 @@ _GLOBAL(plpar_hcall_8arg_2ret)
 		 	unsigned long *out3,		R10
 		 	unsigned long *out4);		112(R1)
  */
+#ifdef CONFIG_HCALL_STATS
+_GLOBAL(plpar_hcall_4out_base)
+#else
 _GLOBAL(plpar_hcall_4out)
+#endif
 	HMT_MEDIUM
 
 	mfcr	r0
@@ -144,7 +164,11 @@ _GLOBAL(plpar_hcall_4out)
 			 unsigned long *out6,		102(R1)
 			 unsigned long *out7);		100(R1)
 */
+#ifdef CONFIG_HCALL_STATS
+_GLOBAL(plpar_hcall_7arg_7ret_base)
+#else
 _GLOBAL(plpar_hcall_7arg_7ret)
+#endif
 	HMT_MEDIUM
 
 	mfcr	r0
@@ -193,7 +217,11 @@ _GLOBAL(plpar_hcall_7arg_7ret)
 			 unsigned long *out8,		 94(R1)
 		         unsigned long *out9,            92(R1)
 */
+#ifdef CONFIG_HCALL_STATS
+_GLOBAL(plpar_hcall_9arg_9ret_base)
+#else
 _GLOBAL(plpar_hcall_9arg_9ret)
+#endif
 	HMT_MEDIUM
 
 	mfcr	r0
diff -Naupr linux-2.6.17-rc6/arch/powerpc/platforms/pseries/hvCall_inst.c linux-2.6.17-rc6.work/arch/powerpc/platforms/pseries/hvCall_inst.c
--- linux-2.6.17-rc6/arch/powerpc/platforms/pseries/hvCall_inst.c	1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.17-rc6.work/arch/powerpc/platforms/pseries/hvCall_inst.c	2006-06-13 21:39:24.000000000 +0000
@@ -0,0 +1,239 @@
+/*
+ * Copyright (C) 2006 Mike Kravetz IBM Corporation
+ *
+ * Hypervisor Call Instrumentation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ */
+
+#include <linux/kernel.h>
+#include <linux/percpu.h>
+#include <asm/hvcall.h>
+
+DEFINE_PER_CPU(struct hcall_stats[MAX_HCALL_OPCODES+1], hcall_stats);
+
+static inline void update_stats(unsigned long opcode, unsigned long t_before)
+{
+	unsigned long op_index= opcode >> 2;
+	struct hcall_stats *hs = &__get_cpu_var(hcall_stats[op_index]);
+
+	/* racey, but acceptable for non-critical stats */
+	hs->total_time += (mfspr(SPRN_PURR) - t_before);
+	hs->num_calls++;
+}
+
+extern long plpar_hcall_base (unsigned long opcode,
+                 unsigned long arg1,
+                 unsigned long arg2,
+                 unsigned long arg3,
+                 unsigned long arg4,
+                 unsigned long *out1,
+                 unsigned long *out2,
+                 unsigned long *out3);
+
+long plpar_hcall(unsigned long opcode,
+                 unsigned long arg1,
+                 unsigned long arg2,
+                 unsigned long arg3,
+                 unsigned long arg4,
+                 unsigned long *out1,
+                 unsigned long *out2,
+                 unsigned long *out3)
+{
+	long rc;
+	unsigned long t_before = mfspr(SPRN_PURR);
+
+	rc = plpar_hcall_base(opcode, arg1, arg2, arg3, arg4, out1, out2, out3);
+
+	update_stats(opcode, t_before);
+	return rc;
+}
+
+extern long plpar_hcall_norets_base(unsigned long opcode, ...);
+
+long plpar_hcall_norets_C(unsigned long opcode,
+				unsigned long arg1,
+				unsigned long arg2,
+				unsigned long arg3,
+				unsigned long arg4,
+				unsigned long arg5,
+				unsigned long arg6)
+{
+	long rc;
+	unsigned long t_before = mfspr(SPRN_PURR);
+
+	rc = plpar_hcall_norets_base(opcode, arg1, arg2, arg3, arg4, arg5,
+				     arg6);
+
+	update_stats(opcode, t_before);
+	return rc;
+}
+
+extern long plpar_hcall_8arg_2ret_base(unsigned long opcode,
+                           unsigned long arg1,
+                           unsigned long arg2,
+                           unsigned long arg3,
+                           unsigned long arg4,
+                           unsigned long arg5,
+                           unsigned long arg6,
+                           unsigned long arg7,
+                           unsigned long arg8,
+                           unsigned long *out1);
+
+long plpar_hcall_8arg_2ret(unsigned long opcode,
+                           unsigned long arg1,
+                           unsigned long arg2,
+                           unsigned long arg3,
+                           unsigned long arg4,
+                           unsigned long arg5,
+                           unsigned long arg6,
+                           unsigned long arg7,
+                           unsigned long arg8,
+                           unsigned long *out1)
+{
+	long rc;
+	unsigned long t_before = mfspr(SPRN_PURR);
+
+	rc = plpar_hcall_8arg_2ret_base(opcode, arg1, arg2, arg3, arg4, arg5,
+					arg6, arg7, arg8, out1);
+
+	update_stats(opcode, t_before);
+	return rc;
+}
+
+extern long plpar_hcall_4out_base(unsigned long opcode,
+                      unsigned long arg1,
+                      unsigned long arg2,
+                      unsigned long arg3,
+                      unsigned long arg4,
+                      unsigned long *out1,
+                      unsigned long *out2,
+                      unsigned long *out3,
+                      unsigned long *out4);
+
+long plpar_hcall_4out(unsigned long opcode,
+                      unsigned long arg1,
+                      unsigned long arg2,
+                      unsigned long arg3,
+                      unsigned long arg4,
+                      unsigned long *out1,
+                      unsigned long *out2,
+                      unsigned long *out3,
+                      unsigned long *out4)
+{
+	long rc;
+	unsigned long t_before = mfspr(SPRN_PURR);
+
+	rc = plpar_hcall_4out_base(opcode, arg1, arg2, arg3, arg4, out1,
+				   out2, out3, out4);
+
+	update_stats(opcode, t_before);
+	return rc;
+}
+
+extern long plpar_hcall_7arg_7ret_base(unsigned long opcode,
+                           unsigned long arg1,
+                           unsigned long arg2,
+                           unsigned long arg3,
+                           unsigned long arg4,
+                           unsigned long arg5,
+                           unsigned long arg6,
+                           unsigned long arg7,
+                           unsigned long *out1,
+                           unsigned long *out2,
+                           unsigned long *out3,
+                           unsigned long *out4,
+                           unsigned long *out5,
+                           unsigned long *out6,
+                           unsigned long *out7);
+
+long plpar_hcall_7arg_7ret(unsigned long opcode,
+                           unsigned long arg1,
+                           unsigned long arg2,
+                           unsigned long arg3,
+                           unsigned long arg4,
+                           unsigned long arg5,
+                           unsigned long arg6,
+                           unsigned long arg7,
+                           unsigned long *out1,
+                           unsigned long *out2,
+                           unsigned long *out3,
+                           unsigned long *out4,
+                           unsigned long *out5,
+                           unsigned long *out6,
+                           unsigned long *out7)
+{
+	long rc;
+	unsigned long t_before = mfspr(SPRN_PURR);
+
+	rc = plpar_hcall_7arg_7ret_base(opcode, arg1, arg2, arg3, arg4, arg5,
+					arg6, arg7, out1, out2, out3, out4,
+					out5, out6, out7);
+
+	update_stats(opcode, t_before);
+	return rc;
+}
+
+extern long plpar_hcall_9arg_9ret_base(unsigned long opcode,
+                           unsigned long arg1,
+                           unsigned long arg2,
+                           unsigned long arg3,
+                           unsigned long arg4,
+                           unsigned long arg5,
+                           unsigned long arg6,
+                           unsigned long arg7,
+                           unsigned long arg8,
+                           unsigned long arg9,
+                           unsigned long *out1,
+                           unsigned long *out2,
+                           unsigned long *out3,
+                           unsigned long *out4,
+                           unsigned long *out5,
+                           unsigned long *out6,
+                           unsigned long *out7,
+                           unsigned long *out8,
+                           unsigned long *out9);
+
+long plpar_hcall_9arg_9ret(unsigned long opcode,
+                           unsigned long arg1,
+                           unsigned long arg2,
+                           unsigned long arg3,
+                           unsigned long arg4,
+                           unsigned long arg5,
+                           unsigned long arg6,
+                           unsigned long arg7,
+                           unsigned long arg8,
+                           unsigned long arg9,
+                           unsigned long *out1,
+                           unsigned long *out2,
+                           unsigned long *out3,
+                           unsigned long *out4,
+                           unsigned long *out5,
+                           unsigned long *out6,
+                           unsigned long *out7,
+                           unsigned long *out8,
+                           unsigned long *out9)
+{
+	long rc;
+	unsigned long t_before = mfspr(SPRN_PURR);
+
+	rc = plpar_hcall_9arg_9ret_base(opcode, arg1, arg2, arg3, arg4, arg5,
+					arg6, arg7, arg8, arg9, out1, out2,
+					out3, out4, out5, out6, out7, out8,
+					out9);
+
+	update_stats(opcode, t_before);
+	return rc;
+}
diff -Naupr linux-2.6.17-rc6/include/asm-powerpc/hvcall.h linux-2.6.17-rc6.work/include/asm-powerpc/hvcall.h
--- linux-2.6.17-rc6/include/asm-powerpc/hvcall.h	2006-06-13 21:38:45.000000000 +0000
+++ linux-2.6.17-rc6.work/include/asm-powerpc/hvcall.h	2006-06-13 21:39:24.000000000 +0000
@@ -292,6 +292,13 @@ long plpar_hcall_9arg_9ret(unsigned long
 			   unsigned long *out8,
 			   unsigned long *out9);
 
+#ifdef CONFIG_HCALL_STATS
+struct hcall_stats {
+	unsigned long	num_calls;
+	unsigned long	total_time;
+};
+#endif /* CONFIG_HCALL_STATS */
+
 #endif /* __ASSEMBLY__ */
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_HVCALL_H */

^ permalink raw reply

* [PATCH 0/3] powerpc: Instrument Hypervisor Calls: add sysfs files
From: Mike Kravetz @ 2006-06-14  3:54 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Bryan Rosenburg, Christopher Yeoh
In-Reply-To: <20060614034756.GA6759@monkey.ibm.com>

Make statistics available via files in sysfs.

-- 
Signed-off-by: Mike Kravetz <kravetz@us.ibm.com>


diff -Naupr linux-2.6.17-rc6/arch/powerpc/kernel/sysfs.c linux-2.6.17-rc6.work/arch/powerpc/kernel/sysfs.c
--- linux-2.6.17-rc6/arch/powerpc/kernel/sysfs.c	2006-06-06 00:57:02.000000000 +0000
+++ linux-2.6.17-rc6.work/arch/powerpc/kernel/sysfs.c	2006-06-13 21:42:32.000000000 +0000
@@ -356,6 +356,39 @@ static ssize_t show_physical_id(struct s
 }
 static SYSDEV_ATTR(physical_id, 0444, show_physical_id, NULL);
 
+#ifdef CONFIG_HCALL_STATS
+DECLARE_PER_CPU(struct hcall_stats[MAX_HCALL_OPCODES+1], hcall_stats);
+
+static ssize_t show_hcall_stats(struct sys_device *dev, char *buf)
+{
+	struct cpu *cpu = container_of(dev, struct cpu, sysdev);
+	struct hcall_stats *hs = per_cpu(hcall_stats, cpu->sysdev.id);
+	size_t rc = 0;
+	size_t b_written = 0;
+	size_t b_remain = PAGE_SIZE;
+	unsigned long i;
+
+	for (i=0; i<MAX_HCALL_OPCODES+1; i++){
+		if (!hs[i].num_calls)
+			continue;
+
+		b_written = snprintf(buf+rc, b_remain,
+				"%lu %lu %lu\n",
+				i<<2, hs[i].num_calls, hs[i].total_time);
+
+		if (b_written >= b_remain)
+			break;	/* end of buffer */
+
+		rc += b_written;
+		b_remain -= b_written;
+	}
+
+	return rc;
+}
+
+static SYSDEV_ATTR(hcall_stats, 0666, show_hcall_stats, NULL);
+#endif /* CONFIG_HCALL_STATS */
+
 static int __init topology_init(void)
 {
 	int cpu;
@@ -390,6 +423,9 @@ static int __init topology_init(void)
 			register_cpu(c, cpu, parent);
 
 			sysdev_create_file(&c->sysdev, &attr_physical_id);
+#ifdef CONFIG_HCALL_STATS
+			sysdev_create_file(&c->sysdev, &attr_hcall_stats);
+#endif
 		}
 
 		if (cpu_online(cpu))

^ permalink raw reply

* Re: regarding xilinx system ace in linux-2.6
From: rahul @ 2006-06-14  4:33 UTC (permalink / raw)
  Cc: linuxppc-embedded
In-Reply-To: <448F90FF.4080901@gmail.com>

Hi all

A type mistake in my previous mail. So sending the mail again.


I would like to know if anyone in the group or otherwise using Xilinx's
System ACE MPU interface to read/write to Compact Flash card on their
hardware ?
I came to know the code is implemented in linux-2.4  but i want to have 
it in linux-2.6

It will be nice to follow someone's footsteps if it has already been 
implemented before.
Else, please direct me to appropriate resources about how to go about 
using it in my design.

Thanks
Rahul

rahul wrote:

> Hi All,
>
> I would like to know if anyone in the group or otherwise is/was using 
> Xilinx's
> System ACE MPU interface to read/write to Compact Flash card on their
> hardware ? I see that there is a device driver provided by Xilinx for 
> system
> ace mpu bus in the linux 2.6. I came to know the code is implemented 
> in linux-2.4
> but i want to have it in linux-2.6
>
> It will be nice to follow someone's footsteps if it has already been 
> implemented before.
> Else, please direct me to appropriate resources about how to go about 
> using it in my design.
>
> Thanks
> Rahul
>

^ permalink raw reply

* regarding xilinx system ace in linux-2.6
From: rahul @ 2006-06-14  4:30 UTC (permalink / raw)
  To: linuxppc-embedded

Hi All,

I would like to know if anyone in the group or otherwise is/was using 
Xilinx's
System ACE MPU interface to read/write to Compact Flash card on their
 hardware ? I see that there is a device driver provided by Xilinx for 
system
ace mpu bus in the linux 2.6. I came to know the code is implemented in 
linux-2.4
 but i want to have it in linux-2.6

It will be nice to follow someone's footsteps if it has already been 
implemented before.
 Else, please direct me to appropriate resources about how to go about 
using it in my design.

Thanks
Rahul

^ permalink raw reply

* [PATCH 1/3] powerpc: Instrument Hypervisor Calls: merge headers
From: Mike Kravetz @ 2006-06-14  3:50 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Bryan Rosenburg, Christopher Yeoh
In-Reply-To: <20060614034756.GA6759@monkey.ibm.com>

Move all the Hypervisor call definitions to to a single header file.

-- 
Signed-off-by: Mike Kravetz <kravetz@us.ibm.com>


diff -Naupr linux-2.6.17-rc6/drivers/net/ibmveth.h linux-2.6.17-rc6.work/drivers/net/ibmveth.h
--- linux-2.6.17-rc6/drivers/net/ibmveth.h	2006-06-06 00:57:02.000000000 +0000
+++ linux-2.6.17-rc6.work/drivers/net/ibmveth.h	2006-06-13 21:35:10.000000000 +0000
@@ -41,16 +41,6 @@
 #define IbmVethMcastRemoveFilter     0x2UL
 #define IbmVethMcastClearFilterTable 0x3UL
 
-/* hcall numbers */
-#define H_VIO_SIGNAL             0x104
-#define H_REGISTER_LOGICAL_LAN   0x114
-#define H_FREE_LOGICAL_LAN       0x118
-#define H_ADD_LOGICAL_LAN_BUFFER 0x11C
-#define H_SEND_LOGICAL_LAN       0x120
-#define H_MULTICAST_CTRL         0x130
-#define H_CHANGE_LOGICAL_LAN_MAC 0x14C
-#define H_FREE_LOGICAL_LAN_BUFFER 0x1D4
-
 /* hcall macros */
 #define h_register_logical_lan(ua, buflst, rxq, fltlst, mac) \
   plpar_hcall_norets(H_REGISTER_LOGICAL_LAN, ua, buflst, rxq, fltlst, mac)
diff -Naupr linux-2.6.17-rc6/include/asm-powerpc/hvcall.h linux-2.6.17-rc6.work/include/asm-powerpc/hvcall.h
--- linux-2.6.17-rc6/include/asm-powerpc/hvcall.h	2006-06-06 00:57:02.000000000 +0000
+++ linux-2.6.17-rc6.work/include/asm-powerpc/hvcall.h	2006-06-13 21:35:10.000000000 +0000
@@ -155,9 +155,15 @@
 #define H_VIO_SIGNAL		0x104
 #define H_SEND_CRQ		0x108
 #define H_COPY_RDMA		0x110
+#define H_REGISTER_LOGICAL_LAN	0x114
+#define H_FREE_LOGICAL_LAN	0x118
+#define H_ADD_LOGICAL_LAN_BUFFER 0x11C
+#define H_SEND_LOGICAL_LAN	0x120
+#define H_MULTICAST_CTRL	0x130
 #define H_SET_XDABR		0x134
 #define H_STUFF_TCE		0x138
 #define H_PUT_TCE_INDIRECT	0x13C
+#define H_CHANGE_LOGICAL_LAN_MAC 0x14C
 #define H_VTERM_PARTNER_INFO	0x150
 #define H_REGISTER_VTERM	0x154
 #define H_FREE_VTERM		0x158
@@ -187,11 +193,14 @@
 #define H_GET_HCA_INFO          0x1B8
 #define H_GET_PERF_COUNT        0x1BC
 #define H_MANAGE_TRACE          0x1C0
+#define H_FREE_LOGICAL_LAN_BUFFER 0x1D4
 #define H_QUERY_INT_STATE       0x1E4
 #define H_POLL_PENDING		0x1D8
 #define H_JOIN			0x298
 #define H_ENABLE_CRQ		0x2B0
 
+#define MAX_HCALL_OPCODES	(H_ENABLE_CRQ >> 2)
+
 #ifndef __ASSEMBLY__
 
 /* plpar_hcall() -- Generic call interface using above opcodes

^ 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