* [PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 40x
From: Eugene Surovegin @ 2005-05-18 17:09 UTC (permalink / raw)
To: linuxppc-embedded
Hi!
This patch is virtually identical to my previous 44x one. It removes
0x8000'0000 TASK_SIZE hardcoded assumption from head_4xx.S.
I don't have any 40x board which runs 2.6, so this one is untested,
bit it compiles :).
Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Index: arch/ppc/kernel/head_4xx.S
===================================================================
--- 59c3218467807e1793fb4fc5d90141e072ab2212/arch/ppc/kernel/head_4xx.S (mode:100644)
+++ uncommitted/arch/ppc/kernel/head_4xx.S (mode:100644)
@@ -291,8 +291,9 @@
/* If we are faulting a kernel address, we have to use the
* kernel page tables.
*/
- andis. r11, r10, 0x8000
- beq 3f
+ lis r11, TASK_SIZE@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
li r9, 0
@@ -479,8 +480,9 @@
/* If we are faulting a kernel address, we have to use the
* kernel page tables.
*/
- andis. r11, r10, 0x8000
- beq 3f
+ lis r11, TASK_SIZE@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
li r9, 0
@@ -578,8 +580,9 @@
/* If we are faulting a kernel address, we have to use the
* kernel page tables.
*/
- andis. r11, r10, 0x8000
- beq 3f
+ lis r11, TASK_SIZE@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
li r9, 0
^ permalink raw reply
* new powerbook fn key?
From: Robert Story @ 2005-05-18 16:14 UTC (permalink / raw)
To: linuxppc-dev
Hi guys,
I've got one of the new Aluminum Powerbooks, and I'm running 2.6.12-rc4. Sound
and sleep are working fine.
Are there any patches available to get the fn key working? On my pre-January
AlBook, fn+F1 shows up as a different keycode (using showkey). On the latest
AlBook, the fn key doesn't modify they keycode.
I'm also curious about the status of the track-pad driver.
If I'm asking on the wrong list, pointers appreciated.
Thanks to everyone for all their hard work to keep up with the latest-greatest
PPC offerings!
^ permalink raw reply
* Re: [PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 44x
From: Dan Malek @ 2005-05-18 16:48 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-embedded
In-Reply-To: <96c735b4d1269864b56c84c72a8a4ac3@freescale.com>
On May 18, 2005, at 12:19 PM, Kumar Gala wrote:
> I'm a bit concerned about this in the future. On Book-E parts we may
> end up actually utilizing the address space bit to provide a true
> 4G/4G split.
I've contemplated the 4G/4G split and we have discussed this for years.
This is why I kept the separate kernel/user page table lookup in the TLB
miss handlers.
This was always lost to the Linux "efficiency" argument due to the
mapping
operations required for accessing user space from the kernel. I don't
remember Book E inventing alternate address space options as m68k
does, and without them it will be lots of kernel modifications to
support
this. I suspect most of them will be under the "...to_from_user ..."
functions
and macros, but there are other places in the kernel where the
mapping is assumed.
> I understand the current pain in doing this today. I just want you
> to be aware of what the future might bring.
As I said, the changes aren't required to be implemented by anyone,
it all depends how you choose to write the tlb management functions
for a particular processor. The infrastructure will be there to choose
either method. Until we actually have totally separate kernel and
user VM spaces, you may as well take advantage of the performance
improvement.
> While we wait on this I think getting Eugene's patch is worth while.
That's fine, it was just an opportunity for me to post the message.
Thanks.
-- Dan
^ permalink raw reply
* Re: [PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 44x
From: Matt Porter @ 2005-05-18 16:34 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-embedded
In-Reply-To: <96c735b4d1269864b56c84c72a8a4ac3@freescale.com>
On Wed, May 18, 2005 at 11:19:15AM -0500, Kumar Gala wrote:
> While we wait on this I think getting Eugene's patch is worth while.
It's been on my long todo list for awhile anyway. Since I added the
advanced option stuff I've been aware of task size issue on 4xx. It's
already been sent upstream.
-Matt
^ permalink raw reply
* Re: [PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 44x
From: Kumar Gala @ 2005-05-18 16:19 UTC (permalink / raw)
To: Dan Malek; +Cc: linuxppc-embedded
In-Reply-To: <55497ec3de50301c9f568be24ed3edac@embeddededge.com>
On May 18, 2005, at 9:14 AM, Dan Malek wrote:
>
>
> On May 18, 2005, at 6:21 AM, Eugene Surovegin wrote:
>
> > This patch fixed CONFIG_TASK_SIZE handling on 44x.
>
> Paul suggested to me and I've been contemplating changing
> the page table management on PowerPC to something similar
> to other platforms.=A0 At first, I was only going to do this on 8xx,
> but I think I'll do it for PowerPC in general so all boards can
> take advantage if they choose to do so.
>
> Other ports populate the user page tables with the kernel pmd
> entries upon kernel faults, then we don't have to distinguish
> among page tables during the TLB exceptions.=A0 I'm hoping we
> can populate the init page table entries at boot time, and then
> everyone will inherit them, eliminating all faults unless the kernel
> vmalloc space grows to need a new pmd entry.
I'm a bit concerned about this in the future. On Book-E parts we may=20
end up actually utilizing the address space bit to provide a true 4G/4G=20=
split. I understand the current pain in doing this today. I just want=20=
you to be aware of what the future might bring.
> This would be a generic solution to selecting task size, among
> other advanced memory mapping options.
>
> I'll keep you posted.
While we wait on this I think getting Eugene's patch is worth while.
- kumar
^ permalink raw reply
* Re: linux hangs after uncompressing on memec board with virtex2p
From: Andrei Konovalov @ 2005-05-18 16:11 UTC (permalink / raw)
To: andreas_schmidt; +Cc: linuxppc-embedded
In-Reply-To: <OFA7B343F9.F5611A71-ONC1257005.00521FFA-C1257005.00541DF8@ifm-electronic.com>
Andreas,
I've never tried using u-boot with the virtex2p boards,
but there is the AppNote describing how to use u-boot
with ML300 (it seems your port is based on ML300):
http://direct.xilinx.com/bvdocs/appnotes/xapp542.pdf
This appnote mentions the small patch needed by the linux kernel.
Are you sure you have applied this patch, or this patch is in the
kernel tree you are using already?
I mean the ml300.uboot.patch from xapp542.zip.
Best regards,
Andrei
andreas_schmidt@ifm-electronic.com wrote:
> Hi at all
>
>
> Since one week I have this Problem and can't solve it. I allready read DULG and search in
> Mailinglists but I can't run linux. Perhaps had the same problem and can help me.
> My Problem:
> After I load the uImage and initrd in Ram (uImage at 0x00400000 and initrd 0x00600000)
> from server, I try to run in with command bootm.
> => bootm 00400000 00600000
>
> the outpu what I get is
>
> ## Booting image at 00400000 ...
> Image Name: Linux-2.4.24-pre2
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 609180 Bytes = 594.9 kB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Uncompressing Kernel Image ... OK
> ## Loading RAMDisk Image at 00600000 ...
> Image Name: Simple Embedded Linux Framework
> Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
> Data Size: 1476478 Bytes = 1.4 MB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
> Loading Ramdisk to 00697000, end 007ff77e ... OK
>
> and than hangs it.
> I debug until the u-boot gives parameter on kernel (*kernel) (kbd, initrd_start,
> initrd_end, cmd_start, cmd_end); and all works fine.
> Than it can be only the kernel who hangs?
>
> Some additional information to u-boot.
...
^ permalink raw reply
* RE: USB-host driver for 440ep (bamboo)?
From: Steven Blakeslee @ 2005-05-18 15:05 UTC (permalink / raw)
To: extabe, linuxppc-embedded
> -----Original Message-----
> From: linuxppc-embedded-bounces@ozlabs.org=20
> [mailto:linuxppc-embedded-bounces@ozlabs.org] On Behalf Of=20
> extabe@bredband.net
> Sent: Wednesday, May 18, 2005 9:16 AM
> To: linuxppc-embedded@ozlabs.org
> Subject: USB-host driver for 440ep (bamboo)?
>=20
> Is there any driver for the USB-host-controller built-in the=20
> 440ep CPU.
> I=B4m using the Bamboo board and need USB-host support.
> Does anyone have any experience with that?
>=20
U-boot 1.1.3 has a usb_ohci.c driver for the MPC5200. That driver with =
just a few changes worked like a champ on the 440EP.
^ permalink raw reply
* linux hangs after uncompressing on memec board with virtex2p
From: andreas_schmidt @ 2005-05-18 15:18 UTC (permalink / raw)
To: linuxppc-embedded
Hi at all
Since one week I have this Problem and can't solve it. I allready read DULG and search in
Mailinglists but I can't run linux. Perhaps had the same problem and can help me.
My Problem:
After I load the uImage and initrd in Ram (uImage at 0x00400000 and initrd 0x00600000)
from server, I try to run in with command bootm.
=> bootm 00400000 00600000
the outpu what I get is
## Booting image at 00400000 ...
Image Name: Linux-2.4.24-pre2
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 609180 Bytes = 594.9 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Loading RAMDisk Image at 00600000 ...
Image Name: Simple Embedded Linux Framework
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 1476478 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Ramdisk to 00697000, end 007ff77e ... OK
and than hangs it.
I debug until the u-boot gives parameter on kernel (*kernel) (kbd, initrd_start,
initrd_end, cmd_start, cmd_end); and all works fine.
Than it can be only the kernel who hangs?
Some additional information to u-boot.
=> printenv
bootdelay=3
baudrate=115200
loads_echo=1
serverip=192.168.83.235
ipaddr=192.168.83.99
ethaddr=00:02:01:10:02:E7
bootfile=uImage
bootcmd=tftpboot
serial#=001
bootargs=console=ttyS0,115200 ip=on root=/dev/ram rw
initrd_high=00600000
stdin=serial
stdout=serial
stderr=serial
=> bdinfo
memstart = 0x00000000
memsize = 0x04000000
flashstart = 0x82000000
flashsize = 0x00400000
flashoffset = 0x00000000
sramstart = 0x00000000
sramsize = 0x00000000
bootflags = 0x00000000
procfreq = 300 MHz
plb_busfreq = 100 MHz
pci_busfreq = 33.333 MHz
ethaddr = 00:02:01:10:02:E7
IP addr = 192.168.83.99
baudrate = 115200 bps
.config of linux
#
# Automatically generated by make menuconfig: don't edit
#
# CONFIG_UID16 is not set
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_HAVE_DEC_LOCK=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_ADVANCED_OPTIONS is not set
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
#
# Platform support
#
CONFIG_PPC=y
CONFIG_PPC32=y
# CONFIG_6xx is not set
CONFIG_40x=y
# CONFIG_44x is not set
# CONFIG_POWER3 is not set
# CONFIG_POWER4 is not set
# CONFIG_8xx is not set
CONFIG_4xx=y
# CONFIG_PPC_STD_MMU is not set
# CONFIG_ARCTIC2 is not set
# CONFIG_ASH is not set
# CONFIG_CEDER is not set
# CONFIG_BEECH is not set
# CONFIG_CPCI405 is not set
# CONFIG_DMC405 is not set
# CONFIG_EP405 is not set
# CONFIG_EXBITGEN is not set
# CONFIG_EVB405EP is not set
# CONFIG_OAK is not set
# CONFIG_PPCHAMELEONEVB is not set
# CONFIG_RAINIER is not set
# CONFIG_REDWOOD_4 is not set
# CONFIG_REDWOOD_5 is not set
# CONFIG_REDWOOD_6 is not set
# CONFIG_SYCAMORE is not set
# CONFIG_TIVO is not set
# CONFIG_WALNUT is not set
CONFIG_XILINX_ML300=y
# CONFIG_ALL_PPC is not set
# CONFIG_SMP is not set
CONFIG_MATH_EMULATION=y
CONFIG_NOT_COHERENT_CACHE=y
CONFIG_UART0_TTYS0=y
# CONFIG_UART0_TTYS1 is not set
# CONFIG_PM is not set
CONFIG_EMBEDDEDBOOT=y
CONFIG_VIRTEX_II_PRO=y
CONFIG_XILINX_OCP=y
CONFIG_GEN550=y
CONFIG_405=y
CONFIG_IBM405_ERR51=y
CONFIG_IBM405_ERR77=y
# CONFIG_PPC4xx_DMA is not set
# CONFIG_OCP_PROC is not set
#
# General setup
#
# CONFIG_HIGHMEM is not set
CONFIG_HIGHMEM_START=0xfe000000
CONFIG_LOWMEM_SIZE=0x30000000
CONFIG_KERNEL_START=0xc0000000
CONFIG_TASK_SIZE=0x80000000
# CONFIG_ISA is not set
# CONFIG_EISA is not set
# CONFIG_SBUS is not set
# CONFIG_MCA is not set
# CONFIG_PCI is not set
# CONFIG_8260_PCI9 is not set
# CONFIG_PC_KEYBOARD is not set
CONFIG_NET=y
CONFIG_SYSCTL=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
#
# Parallel port support
#
# CONFIG_PARPORT is not set
# CONFIG_GEN_RTC is not set
# CONFIG_PPC_RTC is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/ram rw"
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Plug and Play configuration
#
# CONFIG_PNP is not set
# CONFIG_ISAPNP is not set
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_CISS_SCSI_TAPE is not set
# CONFIG_CISS_MONITOR_THREAD is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_XILINX_SYSACE is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_BLK_STATS is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
#
# Appletalk devices
#
# CONFIG_DEV_APPLETALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set
#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
#
# ATA/IDE/MFM/RLL support
#
# CONFIG_IDE is not set
# CONFIG_BLK_DEV_IDE_MODES is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set
#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MACE is not set
# CONFIG_BMAC is not set
# CONFIG_GMAC is not set
CONFIG_XILINX_ENET=y
# CONFIG_SUNLANCE is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set
# CONFIG_NET_POCKET is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Backplane Networking
#
# CONFIG_NPNET is not set
#
# On-chip net devices
#
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Console drivers
#
#
# Frame-buffer support
#
# CONFIG_FB is not set
#
# Input core support
#
# CONFIG_INPUT is not set
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_UINPUT is not set
#
# Macintosh device drivers
#
#
# Character devices
#
# CONFIG_VT is not set
CONFIG_SERIAL=y
CONFIG_SERIAL_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
# I2C support
#
# CONFIG_I2C is not set
#
# Mice
#
# CONFIG_BUSMOUSE is not set
# CONFIG_MOUSE is not set
#
# Joysticks
#
# CONFIG_INPUT_GAMEPORT is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_IPMI_PANIC_EVENT is not set
# CONFIG_IPMI_DEVICE_INTERFACE is not set
# CONFIG_IPMI_KCS is not set
# CONFIG_IPMI_WATCHDOG is not set
#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_SCx200_GPIO is not set
# CONFIG_AMD_PM768 is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_RTC_11_MINUTE_MODE is not set
# CONFIG_PCF8563_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_FLASH is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
# CONFIG_AGP is not set
#
# Direct Rendering Manager (XFree86 DRI support)
#
# CONFIG_DRM is not set
CONFIG_XILINX_GPIO=m
# CONFIG_XILINX_TS is not set
# CONFIG_XILINX_UARTLITE is not set
# CONFIG_XILINX_UARTLITE_CONSOLE is not set
# CONFIG_XILINX_SPI is not set
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_QFMT_V2 is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
CONFIG_FAT_FS=m
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
CONFIG_VFAT_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_XFS_FS is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_TRACE is not set
# CONFIG_XFS_DEBUG is not set
#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
# CONFIG_NFS_V3 is not set
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
# CONFIG_NFSD_TCP is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Sound
#
# CONFIG_SOUND is not set
#
# IBM 4xx options
#
#
# USB support
#
# CONFIG_USB is not set
#
# Support for USB gadgets
#
# CONFIG_USB_GADGET is not set
#
# Bluetooth support
#
# CONFIG_BLUEZ is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
#
# Library routines
#
# CONFIG_CRC32 is not set
# CONFIG_ZLIB_INFLATE is not set
# CONFIG_ZLIB_DEFLATE is not set
#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
# CONFIG_MAGIC_SYSRQ is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_IOVIRT is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_WAITQ is not set
# CONFIG_KGDB is not set
# CONFIG_XMON is not set
# CONFIG_BDI_SWITCH is not set
# CONFIG_SERIAL_TEXT_DEBUG is not set
CONFIG_LOG_BUF_SHIFT=0
Many thanks for help!
best regards,
Andreas Schmidt
^ permalink raw reply
* Arabella Resource Manager
From: Jonathan Masel @ 2005-05-18 15:26 UTC (permalink / raw)
To: 'PPC_LINUX'
[-- Attachment #1: Type: text/plain, Size: 1776 bytes --]
Hi all,
Several people have expressed an interest in seeing some more of our
Resource Manager - a kernel library for allocating/releasing on-chip
resources of all PQ processors. We currently have PQ1, PQ2 and PQ3 for 2.4
and 2.6 kernels.
Attached are some of our Resource Manager files. It's not complete - just
some "documentation" and examples. If you'd like to see more, please just
let me know.
resmgr.c - is the generic part of the Resource Manager pq2rm.c - is the part
of RM that is specific to all PQ2 family members pqfcc_enet.c - is an
FCC/Eth driver using the Resource Manager mpc8260ads.c - a board-specific
file for the 8260ADS
To get the gist of it (and without getting too long-winded here) - take
parallel pin assignment in the FCC/Eth driver as an example.
In pqfcc_enet.c we find the board-specific configuration choices by using
pqboard_get_port_config (which is in the board-specific file). Specific pins
are then set/cleared by calling pq_pin_set (or clear, program, ...). This is
located in pq2rm.c.
pq_pin-set uses the generic RM code to allocate a resource of this type (a
parallel I/O bit), check that it is not already in use, attach it to its
consumer and so on.
We don't have ANY board-level dependencies anywhere in our drivers outside
mpc8260ads.c. More than that - the FCC driver is completely independent of
the chip itself (across any of the PQ2's or even PQ3's) since this level of
dependency is handled inside the Resource Manager. If it's the same FCC in
the chip, the driver is supposed completely unchanged.
You can see in the source files that the RM handles allocation of clocks,
GPIO, internal DPRAM and communication channels in the same way.
We are in the process of updating this for platforms too.
Best regards,
Jonathan
[-- Attachment #2: resmgr.tar.bz2 --]
[-- Type: application/octet-stream, Size: 41026 bytes --]
^ permalink raw reply
* Re: [PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 44x
From: Dan Malek @ 2005-05-18 14:14 UTC (permalink / raw)
To: Eugene Surovegin; +Cc: linuxppc-embedded
In-Reply-To: <20050518102103.GB32493@gate.ebshome.net>
On May 18, 2005, at 6:21 AM, Eugene Surovegin wrote:
> This patch fixed CONFIG_TASK_SIZE handling on 44x.
Paul suggested to me and I've been contemplating changing
the page table management on PowerPC to something similar
to other platforms. At first, I was only going to do this on 8xx,
but I think I'll do it for PowerPC in general so all boards can
take advantage if they choose to do so.
Other ports populate the user page tables with the kernel pmd
entries upon kernel faults, then we don't have to distinguish
among page tables during the TLB exceptions. I'm hoping we
can populate the init page table entries at boot time, and then
everyone will inherit them, eliminating all faults unless the kernel
vmalloc space grows to need a new pmd entry.
This would be a generic solution to selecting task size, among
other advanced memory mapping options.
I'll keep you posted.
Thanks.
-- Dan
^ permalink raw reply
* USB-host driver for 440ep (bamboo)?
From: extabe @ 2005-05-18 13:16 UTC (permalink / raw)
To: linuxppc-embedded
Is there any driver for the USB-host-controller built-in the 440ep CPU.
I´m using the Bamboo board and need USB-host support.
Does anyone have any experience with that?
/Andre
^ permalink raw reply
* Your PayPal account could be suspended
From: PayPal Security Center @ 2005-05-18 12:30 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/html, Size: 2520 bytes --]
^ permalink raw reply
* Your PayPal account could be suspended
From: PayPal Security Center @ 2005-05-18 12:30 UTC (permalink / raw)
To: linuxppc-dev
[-- Attachment #1: Type: text/html, Size: 2520 bytes --]
^ permalink raw reply
* [PATCH] ppc32: fix CONFIG_TASK_SIZE handling on 44x
From: Eugene Surovegin @ 2005-05-18 10:21 UTC (permalink / raw)
To: linuxppc-embedded
Hi!
This patch fixed CONFIG_TASK_SIZE handling on 44x. Currently
head_44x.S hardcodes 0x80000000, which breaks if user chooses to
change TASK_SIZE (e.g. for 3G user-space). Tested on Ocotea in 3G/1G
configuration.
Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Index: arch/ppc/kernel/head_44x.S
===================================================================
--- 59c3218467807e1793fb4fc5d90141e072ab2212/arch/ppc/kernel/head_44x.S (mode:100644)
+++ uncommitted/arch/ppc/kernel/head_44x.S (mode:100644)
@@ -330,8 +330,9 @@
/* If we are faulting a kernel address, we have to use the
* kernel page tables.
*/
- andis. r11, r10, 0x8000
- beq 3f
+ lis r11, TASK_SIZE@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
@@ -464,8 +465,9 @@
/* If we are faulting a kernel address, we have to use the
* kernel page tables.
*/
- andis. r11, r10, 0x8000
- beq 3f
+ lis r11, TASK_SIZE@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
@@ -533,8 +535,9 @@
/* If we are faulting a kernel address, we have to use the
* kernel page tables.
*/
- andis. r11, r10, 0x8000
- beq 3f
+ lis r11, TASK_SIZE@h
+ cmplw r10, r11
+ blt+ 3f
lis r11, swapper_pg_dir@h
ori r11, r11, swapper_pg_dir@l
^ permalink raw reply
* Re: Missing m8260_cpm_dpfree()
From: Alex Zeffertt @ 2005-05-18 9:28 UTC (permalink / raw)
To: Alex Zeffertt; +Cc: linuxppc-embedded
In-Reply-To: <20050516161503.0081b1b0.ajz@cambridgebroadband.com>
[-- Attachment #1: Type: text/plain, Size: 720 bytes --]
Hi,
I'm replying to my own message. I've got around to porting the 8xx
version of ...cpm_dpfree() to the 8260 now. I've attached the patch
on the off chance anyone else might want it. The patch is against the
2005-03-06 version of denx's linuxppc_2_4_devel, which is a 2.4.25
kernel.
Alex
On Mon, 16 May 2005 16:15:03 +0100
Alex Zeffertt <ajz@cambridgebroadband.com> wrote:
> Hi all,
>
> I have a question about the MPC8260 dual port RAM allocation routines.
>
> In arch/ppc/8260_io/commproc.c this is a m8260_cpm_dpalloc() routine,
> but the m8260_cpm_dpfree() routine is missing. Does anybody know
> where I can find this?
>
> I am using denx's linuxppc_2_4_devel tree from 2005-03-06.
>
> TIA,
>
> Alex
[-- Attachment #2: linux-m8260_cpm_dpfree.patch --]
[-- Type: application/octet-stream, Size: 8053 bytes --]
--- linux-2.4.25.orig/include/asm-ppc/cpm_8260.h 2003-10-30 00:34:05.000000000 +0000
+++ linux-2.4.25/include/asm-ppc/cpm_8260.h 2005-05-17 12:12:05.000000000 +0100
@@ -101,6 +101,7 @@
*/
extern cpm8260_t *cpmp; /* Pointer to comm processor */
uint m8260_cpm_dpalloc(uint size, uint align);
+int m8260_cpm_dpfree(uint start_addr);
uint m8260_cpm_hostalloc(uint size, uint align);
void m8260_cpm_setbrg(uint brg, uint rate);
void m8260_cpm_fastbrg(uint brg, uint rate, int div16);
--- linux-2.4.25.orig/arch/ppc/kernel/ppc_ksyms.c 2004-06-09 18:00:45.000000000 +0100
+++ linux-2.4.25/arch/ppc/kernel/ppc_ksyms.c 2005-05-17 12:10:01.000000000 +0100
@@ -381,6 +381,7 @@
#ifdef CONFIG_8260
EXPORT_SYMBOL(cpmp);
EXPORT_SYMBOL(m8260_cpm_dpalloc);
+EXPORT_SYMBOL(m8260_cpm_dpfree);
EXPORT_SYMBOL(m8260_cpm_hostalloc);
#endif /* CONFIG_8260 */
--- linux-2.4.25.orig/arch/ppc/8260_io/commproc.c 2003-10-30 00:32:09.000000000 +0000
+++ linux-2.4.25/arch/ppc/8260_io/commproc.c 2005-05-18 10:08:36.000000000 +0100
@@ -29,12 +29,263 @@
#include <asm/immap_8260.h>
#include <asm/cpm_8260.h>
+#define DPFREE
+
+#ifdef DPFREE
+typedef struct cpm_dpalloc_entry_s {
+ u_short start_addr;
+ u_short retloc; /* This is start_addr + alignment offset: only valid in alloc list */
+ u_short size;
+ struct cpm_dpalloc_entry_s * next_entr;
+} cpm_dpalloc_entry_t;
+
+static void cpm_dpalloc_init(void);
+static void cpm_dpalloc_data_init(cpm_dpalloc_entry_t *);
+static int cpm_dpalloc_cl(cpm_dpalloc_entry_t *);
+static int cpm_dpalloc_rem(cpm_dpalloc_entry_t **, cpm_dpalloc_entry_t *);
+static void cpm_dpalloc_ins(cpm_dpalloc_entry_t **, cpm_dpalloc_entry_t *);
+# define CPM_DPALLOC_COUNT (CPM_DATAONLY_SIZE / sizeof(cbd_t) + 1)
+/* Dynamic lists of allocated and free DPRAM */
+static cpm_dpalloc_entry_t *cpm_dpalloc_free;
+static cpm_dpalloc_entry_t *cpm_dpalloc_alloc;
+static cpm_dpalloc_entry_t cpm_dpalloc_list[CPM_DPALLOC_COUNT];
+#else
static uint dp_alloc_base; /* Starting offset in DP ram */
static uint dp_alloc_top; /* Max offset + 1 */
+#endif
static uint host_buffer; /* One page of host buffer */
static uint host_end; /* end + 1 */
cpm8260_t *cpmp; /* Pointer to comm processor space */
+#ifdef DPFREE
+/* Initialize dynamic lists
+ */
+static void cpm_dpalloc_init(void)
+{
+ int i;
+
+ cpm_dpalloc_free = cpm_dpalloc_list;
+ cpm_dpalloc_free->start_addr = CPM_DATAONLY_BASE;
+ cpm_dpalloc_free->size = CPM_DATAONLY_SIZE;
+ cpm_dpalloc_free->next_entr = NULL;
+ cpm_dpalloc_alloc = NULL;
+
+ for(i = 1; i <= CPM_DPALLOC_COUNT; i++) {
+ cpm_dpalloc_data_init (cpm_dpalloc_list + i);
+ }
+}
+
+/* Initialize element in list of DPRAM
+ */
+static void cpm_dpalloc_data_init(cpm_dpalloc_entry_t * ptr)
+{
+ ptr->retloc = ptr->start_addr = 0;
+ ptr->size = 0;
+ ptr->next_entr = NULL;
+}
+
+static int cpm_dpalloc_cl(cpm_dpalloc_entry_t * head)
+{
+ cpm_dpalloc_entry_t * curr;
+ cpm_dpalloc_entry_t * next;
+ int retloc;
+
+ curr = head;
+ retloc = -1;
+
+ if (curr) {
+ retloc = 0;
+
+ while ((next = curr->next_entr)) {
+ if (curr->start_addr + curr->size == next->start_addr) {
+ curr->size = curr->size + next->size;
+ curr->next_entr = next->next_entr;
+ cpm_dpalloc_data_init(next);
+ } else {
+ curr = next;
+ }
+ }
+ }
+
+ return retloc;
+}
+
+/* Remove element from dynamic list of DPRAM
+ */
+static int cpm_dpalloc_rem(cpm_dpalloc_entry_t ** head, cpm_dpalloc_entry_t * ptr)
+{
+ cpm_dpalloc_entry_t * prev;
+ cpm_dpalloc_entry_t * curr;
+ int retloc;
+
+ retloc = -1;
+ for (prev = NULL , curr = *head;
+ curr != NULL && ptr != curr;
+ prev = curr , curr = curr->next_entr)
+ /* EMPTY */ ;
+
+ if (curr) {
+ if (prev) {
+ prev->next_entr = curr->next_entr;
+ } else {
+ *head = curr->next_entr;
+ }
+ retloc = 0;
+ }
+
+ return retloc;
+}
+
+/* Insert element in dynamic list of DPRAM
+ */
+static void cpm_dpalloc_ins(cpm_dpalloc_entry_t ** head, cpm_dpalloc_entry_t * ptr)
+{
+ cpm_dpalloc_entry_t * prev;
+ cpm_dpalloc_entry_t * curr;
+
+ for (prev = NULL , curr = *head;
+ curr != NULL && ptr->start_addr >= curr->start_addr;
+ prev = curr , curr = curr->next_entr)
+ /* EMPTY */ ;
+
+ ptr->next_entr = curr;
+
+ if (prev) {
+ prev->next_entr = ptr;
+ } else {
+ *head = ptr;
+ }
+}
+/* Allocate some memory from the dual ported ram. We may want to
+ * enforce alignment restrictions, but right now everyone is a good
+ * citizen.
+ */
+uint m8260_cpm_dpalloc(uint size, uint align)
+{
+ cpm_dpalloc_entry_t * new_el;
+ cpm_dpalloc_entry_t * p;
+ cpm_dpalloc_entry_t * p1;
+ uint retloc;
+ u_short max;
+ unsigned long flags;
+ int i;
+ uint align_mask;
+ uint off;
+
+ size = (size + 7) & ~7;
+ align_mask = align - 1;
+ max = CPM_DATAONLY_SIZE;
+ retloc = 0;
+ new_el = NULL;
+
+ if (size == 0) goto DONE;
+
+ save_flags(flags);
+ cli();
+
+ /* Find free area in DPRAM
+ */
+ for (p = cpm_dpalloc_free; p != NULL; p = p->next_entr) {
+ if (p->size <= max) {
+ off = ((p->start_addr + align_mask) & (~align_mask)) - p->start_addr;
+ if (p->size >= size + off) {
+ new_el = p;
+ max = p->size;
+ retloc = p->start_addr + off;
+ }
+ }
+ }
+
+ if (new_el == NULL) goto DONE1;
+
+ /* Insert new element in the list of allocated DPRAM
+ */
+ p1 = cpm_dpalloc_list;
+ p = NULL;
+ i = 0;
+ while (i < CPM_DPALLOC_COUNT) {
+ if (p1->start_addr == 0 && !p1->size && !p1->next_entr) {
+ p = p1;
+ break;
+ }
+ i ++;
+ p1 ++;
+ }
+
+ if (p == NULL) {
+ panic ("m8xx_cpm_dpalloc: INTERNAL ERROR\n");
+ }
+
+ p->start_addr = new_el->start_addr;
+ p->retloc = retloc;
+ p->size = size;
+
+ off = retloc - new_el->start_addr;
+ if (new_el->size > (size+off)) {
+ new_el->size -= (size+off);
+ new_el->start_addr += (size+off);
+ cpm_dpalloc_ins(&cpm_dpalloc_alloc, p);
+ } else {
+ cpm_dpalloc_ins(&cpm_dpalloc_alloc, p);
+ i = cpm_dpalloc_rem(&cpm_dpalloc_free, new_el);
+
+ if ( i == -1) {
+ panic ("m8xx_cpm_dpalloc: INTERNAL ERROR\n");
+ }
+
+ cpm_dpalloc_data_init(new_el);
+ }
+
+DONE1:
+ restore_flags(flags);
+DONE:
+ if (jiffies > 10*HZ)
+ printk("%s(%u,%u) = 0x%x\n",__FUNCTION__,size,align,retloc);
+ return retloc;
+}
+
+int m8260_cpm_dpfree(uint retloc)
+{
+ cpm_dpalloc_entry_t * r;
+ int retval;
+ unsigned long flags;
+
+ retval = -1;
+
+ if ((retloc < CPM_DATAONLY_BASE) ||
+ (retloc > CPM_DATAONLY_SIZE + CPM_DATAONLY_BASE)) {
+ goto DONE;
+ }
+
+ save_flags(flags);
+ cli();
+
+ for (r = cpm_dpalloc_alloc;
+ (r != NULL) && (r->retloc != retloc);
+ r = r->next_entr)
+ /* EMPTY */ ;
+
+ if (r) {
+ retval = cpm_dpalloc_rem(&cpm_dpalloc_alloc, r);
+
+ if (retval == -1) {
+ panic("m8xx_cpm_dpfree: INTERNAL ERROR\n");
+ }
+ cpm_dpalloc_ins(&cpm_dpalloc_free, r);
+ retval = cpm_dpalloc_cl(cpm_dpalloc_free);
+
+ if (retval == -1) {
+ panic("m8xx_cpm_dpfree: INTERNAL ERROR\n");
+ }
+ retval = 0;
+ }
+
+ restore_flags(flags);
+DONE:
+ return retval;
+}
+#endif /* DPFREE */
+
/* We allocate this here because it is used almost exclusively for
* the communication processor devices.
*/
@@ -50,11 +301,14 @@
immr = imp = (volatile immap_t *)IMAP_ADDR;
commproc = &imp->im_cpm;
+#ifdef DPFREE
+ cpm_dpalloc_init();
+#else
/* Reclaim the DP memory for our use.
*/
dp_alloc_base = CPM_DATAONLY_BASE;
dp_alloc_top = dp_alloc_base + CPM_DATAONLY_SIZE;
-
+#endif
/* Set the host page for allocation.
*/
host_buffer =
@@ -68,6 +322,7 @@
cpmp = (cpm8260_t *)commproc;
}
+#ifndef DPFREE
/* Allocate some memory from the dual ported ram.
* To help protocols with object alignment restrictions, we do that
* if they ask.
@@ -95,6 +350,12 @@
return(retloc);
}
+int m8260_cpm_dpfree(uint start_addr)
+{
+ printk(KERN_ERR "%s() not implemented\n", __FUNCTION__);
+ return -1;
+}
+#endif /*ifndef DPFREE*/
/* We also own one page of host buffer space for the allocation of
* UART "fifos" and the like.
^ permalink raw reply
* Re: 2.6.x insmod problem on 82xx platform
From: Mike Rapoport @ 2005-05-18 8:20 UTC (permalink / raw)
To: Sam Song; +Cc: linuxppc-embedded
In-Reply-To: <20050518033817.57657.qmail@web15807.mail.cnb.yahoo.com>
[-- Attachment #1: Type: text/plain, Size: 961 bytes --]
Sam Song wrote:
>Mike Rapoport <mike@compulab.co.il> wrote:
>[snip]
>
>
>>I think you use modutils for 2.4 kernel. In order to
>>work with LKM in 2.6 you need module-init-tools
>>package.Take a look at
>>
>>
>>
>http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
>
>Thanks. I downloaded the newest package. Then where
>should I apply it? For kernel source or ELDK? I read
>FAQ but no clear clue on it!
>
>
>
I'm not familiar with ELDK, but I suppose it creates filesystem for the
target. The module-init-tools package should be installed on this
filesystem.
>Thanks again,
>
>Sam
>
>_________________________________________________________
>Do You Yahoo!?
>150万曲MP3疯狂搜,带您闯入音乐殿堂
>http://music.yisou.com/
>美女明星应有尽有,搜遍美图、艳图和酷图
>http://image.yisou.com
>1G就是1000兆,雅虎电邮自助扩容!
>http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
>
>
>
>
>
--
Sincerely yours,
Mike
[-- Attachment #2: Type: text/html, Size: 1969 bytes --]
^ permalink raw reply
* [PATCH] ppc32: Fix platform device initialization of 8250 serial ports
From: Kumar Gala @ 2005-05-18 4:53 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linuxppc-embedded
Andrew,
(This fixes a bug and should go into 2.6.12 if possible.)
Initialization of 8250 serial ports that are platform devices require that
at empty entry exists in the array of plat_serial8250_port. With out an
empty entry we can get some pretty random behavior.
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
---
commit 775d12402657efa10a3c76da6c764237afeca462
tree ab87cb0c7a06314683657598ac6f011a7cc38884
parent 995cccaa4c17395172a88369a7eda90ab98f9971
author Kumar K. Gala <kumar.gala@freescale.com> Tue, 17 May 2005 23:51:13 -0500
committer Kumar K. Gala <kumar.gala@freescale.com> Tue, 17 May 2005 23:51:13 -0500
ppc/syslib/mpc83xx_devices.c | 1 +
ppc/syslib/mpc85xx_devices.c | 1 +
2 files changed, 2 insertions(+)
Index: arch/ppc/syslib/mpc83xx_devices.c
===================================================================
--- afaee9b3b47f4d48902232740857f7b7d66e356f/arch/ppc/syslib/mpc83xx_devices.c (mode:100644)
+++ ab87cb0c7a06314683657598ac6f011a7cc38884/arch/ppc/syslib/mpc83xx_devices.c (mode:100644)
@@ -61,6 +61,7 @@
.iotype = UPIO_MEM,
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
},
+ { },
};
struct platform_device ppc_sys_platform_devices[] = {
Index: arch/ppc/syslib/mpc85xx_devices.c
===================================================================
--- afaee9b3b47f4d48902232740857f7b7d66e356f/arch/ppc/syslib/mpc85xx_devices.c (mode:100644)
+++ ab87cb0c7a06314683657598ac6f011a7cc38884/arch/ppc/syslib/mpc85xx_devices.c (mode:100644)
@@ -61,6 +61,7 @@
.iotype = UPIO_MEM,
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_SHARE_IRQ,
},
+ { },
};
struct platform_device ppc_sys_platform_devices[] = {
^ permalink raw reply
* Re: 2.6.x insmod problem on 82xx platform
From: Sam Song @ 2005-05-18 3:38 UTC (permalink / raw)
To: Mike Rapoport; +Cc: linuxppc-embedded
Mike Rapoport <mike@compulab.co.il> wrote:
[snip]
> I think you use modutils for 2.4 kernel. In order to
> work with LKM in 2.6 you need module-init-tools
> package.Take a look at
>
http://www.kernel.org/pub/linux/kernel/people/rusty/modules/
Thanks. I downloaded the newest package. Then where
should I apply it? For kernel source or ELDK? I read
FAQ but no clear clue on it!
Thanks again,
Sam
_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
^ permalink raw reply
* Re: MPC885 - USB HCI drivers.
From: Kylo Ginsberg @ 2005-05-17 18:05 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: linuxppc-embedded
In-Reply-To: <20050517081558.74BA0C1512@atlas.denx.de>
On 5/17/05, Wolfgang Denk <wd@denx.de> wrote:
> Dear Mike,
>=20
> in message <428995CB.4050301@compulab.co.il> you wrote:
> >
> > Do you know if the same is applicable to CPM2 USB controllers present
> > for example on mpc8247?
>=20
> Sorry, I don't know from personal experience. But from what I heard
> there might be some "surprises", too.
Thanks for all the feedback. If we set our sights lower and only aim
to use the CPM USB as a device (specifically an alternative serial
console), similar warnings of "surprises"? Any source out there for
this purpose? (I'm inclined to just use a 232-usb converter off a
uart and make it transparent to the target s/w.)
Also, I failed to find app notes or usb-specific errata on the
freescale site. Perhaps they're tucked away under a specific
processor without a suggestive title?
Kylo
^ permalink raw reply
* RE: MPC860 CP / CPM Misbehaving
From: Martin, Tim @ 2005-05-17 18:01 UTC (permalink / raw)
To: 'Wrobel Heinz-r39252',
'linuxppc-embedded@ozlabs.org'
> descriptors (BDs) from the CPM with the OV bit set (bit 14 of the RxBD
> status/control field, "Overrun. Set when a receiver overrun
> occurs during
> reception").
> - SDRAM setup. If ORx(BIH)=1 makes the problem go away, your burst setup
or the /TA pullup is broken. NB: Neither the SCC
> nor the SMC do bursts.
I checked my SDRAM setup. SDRAM is the only device configured with UPMA and
it's on cs1, so I checked UPMA, OR1, BR1, MAMR configuration along with
MCR/MAR process for issuing precharge, refresh, and SDRAM mode register
config per the datasheet for the parts. This board is a few years old, so I
wasn't able to find the datasheet the original timings were made from -
instead I looked at the datasheet for the parts we're using now, and (since
the parts we're using now are faster) our memory timings are somewhat
conservative.
I did try disabling bursts, with no luck. Not sure what "NB" means.
> - Did you by accident happen to enable any IDMA lines?
No
> - Did you happen to misconfigure RCCR(DRxM)?
RCCR is all zero's except RCCR[ERAM]=b11 since I have the SCC/SMC microcode
patch. Even though IDMA is disabled, I have tried setting RCCR[DRPQ]=b10 to
make IDMA requests have the lowest priority (didn't help/hurt). The DRxM
bits are edge sensitive.
> - Did you happen to misconfigure the SDCR?
SDCR[FRZ] = 0 (ignore the freeze signal)
SDCR[FAID] = 0 (highest priority default, although I'm not using FEC).
SDCR[RAID] = b01 (priority level 5)
>One other thing. If you have an old BDM debugger *and* if the problem
occurs *only* with the BDM debugger hooked up, you may
>want to check for an update or replacement. Old debuggers sometimes used a
method to do BDM which could stall the DMAs in
>the machine and cause this kind of overrun/underrun effect.
Hmm...interesting. How old? Does this happen when actively debugging
(setting breakpoints, etc) or just running with no breakpoints set? I have
two different debuggers, a OCD raven wiggler and a BDM module for my
HP16702A logic analyzer. I have to run different debugger software on each
for licensing reasons (SingleStep 7.5 on the raven and GHS MULTI4.0.5 on the
HP). The problem occurs on both.
Heinz
^ permalink raw reply
* Re: [PATCH] BOOKE_WDT Part 1/2 (Re: PPC 44x Watchdog timer)
From: Takeharu KATO @ 2005-05-17 17:41 UTC (permalink / raw)
To: Kumar Gala; +Cc: Glenn Burkhardt, Gala Kumar K.-galak, linuxppc-embedded
In-Reply-To: <fb7df67f9dda2794b4af2dfa9b4754ca@freescale.com>
Hi Kumar:
>
> Yes, I think with these changes to us early_param() for command line
> parsing in a single place will make the first patch look good.
>
OK, I'll perform this fix in this week.
> I'm still not sure what suggestions I have for the second patch, I was
> more just letting you know my thinking about the fact that it concerned
> me that the exception handler code was not in arch/ppc/kernel. Not to
> say this is wrong, it just doesn't feel write.
>
Hum, I agree this thing, I'll move the WDT exception handler to
arch/ppc/kernel for the moment.
If someone disagree with this decision in the future, I'll move this
into driver code again.
^ permalink raw reply
* Re: [PATCH] BOOKE_WDT Part 1/2 (Re: PPC 44x Watchdog timer)
From: Kumar Gala @ 2005-05-17 17:00 UTC (permalink / raw)
To: Takeharu KATO; +Cc: Glenn Burkhardt, Gala Kumar K.-galak, linuxppc-embedded
In-Reply-To: <428A040D.40604@ybb.ne.jp>
On May 17, 2005, at 9:47 AM, Takeharu KATO wrote:
> Hi Kumar:
>
> >> No problem, can you replace all the cmd line parsing with
> >> early_param() code in arch/ppc/kernel/setup.c.=A0 Take a look at
> >> arch/ppc64/kernel/setup.c for an example.=A0 We still need to add a=20=
> call
> >> to parse_early_param() in setup_arch().
> >>
> > Sorry, I can not figure out what you want.
> > As far as I look the source tree,arch/ppc/kernel/setup.c does not=20
> have
> > the function called early_param.
> > Would you give me a more precise explanation?
> >
> On second thought, I make sense what you said.
> You asked me that I make some kind of cleanups, didn't you?
> If it is true, I'll try to clean up these setups, but it may be
> take the time.
Yes, I think with these changes to us early_param() for command line=20
parsing in a single place will make the first patch look good.
I'm still not sure what suggestions I have for the second patch, I was=20=
more just letting you know my thinking about the fact that it concerned=20=
me that the exception handler code was not in arch/ppc/kernel. Not to=20=
say this is wrong, it just doesn't feel write.
- kumar
^ permalink raw reply
* [PATCH] ppc32: Fix some minor issues related to FSL Book-E KGDB support
From: Kumar Gala @ 2005-05-17 16:59 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linuxppc-embedded
Some debug registers needed to be initialized early on to allow
proper support for KGDB. Additionally, we need to setup the
ppc.md_early_serial_map function pointer on boards that have
serial support for KGDB.
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
---
commit 704da4a5c793087584fa5d0ed73440dd4ac44294
tree 1702b9dd418707a930969079b460df0ace2f1c1a
parent f772a90e948f019c3111a94394b3a649874417c7
author Kumar K. Gala <kumar.gala@freescale.com> Mon, 16 May 2005 11:12:35 -0500
committer Kumar K. Gala <kumar.gala@freescale.com> Mon, 16 May 2005 11:12:35 -0500
ppc/kernel/head_fsl_booke.S | 15 ++++++++++++++-
ppc/platforms/85xx/mpc8540_ads.c | 3 +++
ppc/platforms/85xx/mpc85xx_cds_common.c | 3 +++
ppc/platforms/85xx/sbc8560.c | 3 +++
4 files changed, 23 insertions(+), 1 deletion(-)
Index: arch/ppc/kernel/head_fsl_booke.S
===================================================================
--- c9d59c269792db4933039da49b3b3836ac5b01f5/arch/ppc/kernel/head_fsl_booke.S (mode:100644)
+++ 1702b9dd418707a930969079b460df0ace2f1c1a/arch/ppc/kernel/head_fsl_booke.S (mode:100644)
@@ -232,7 +232,8 @@
tlbwe
/* 7. Jump to KERNELBASE mapping */
- li r7,0
+ lis r7,MSR_KERNEL@h
+ ori r7,r7,MSR_KERNEL@l
bl 1f /* Find our address */
1: mflr r9
rlwimi r6,r9,0,20,31
@@ -291,6 +292,18 @@
mfspr r2,SPRN_HID0
oris r2,r2,HID0_DOZE@h
mtspr SPRN_HID0, r2
+#endif
+
+#if !defined(CONFIG_BDI_SWITCH)
+ /*
+ * The Abatron BDI JTAG debugger does not tolerate others
+ * mucking with the debug registers.
+ */
+ lis r2,DBCR0_IDM@h
+ mtspr SPRN_DBCR0,r2
+ /* clear any residual debug events */
+ li r2,-1
+ mtspr SPRN_DBSR,r2
#endif
/*
Index: arch/ppc/platforms/85xx/mpc8540_ads.c
===================================================================
--- c9d59c269792db4933039da49b3b3836ac5b01f5/arch/ppc/platforms/85xx/mpc8540_ads.c (mode:100644)
+++ 1702b9dd418707a930969079b460df0ace2f1c1a/arch/ppc/platforms/85xx/mpc8540_ads.c (mode:100644)
@@ -210,6 +210,9 @@
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG)
ppc_md.progress = gen550_progress;
#endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */
+#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB)
+ ppc_md.early_serial_map = mpc85xx_early_serial_map;
+#endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */
if (ppc_md.progress)
ppc_md.progress("mpc8540ads_init(): exit", 0);
Index: arch/ppc/platforms/85xx/mpc85xx_cds_common.c
===================================================================
--- c9d59c269792db4933039da49b3b3836ac5b01f5/arch/ppc/platforms/85xx/mpc85xx_cds_common.c (mode:100644)
+++ 1702b9dd418707a930969079b460df0ace2f1c1a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c (mode:100644)
@@ -459,6 +459,9 @@
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG)
ppc_md.progress = gen550_progress;
#endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */
+#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB)
+ ppc_md.early_serial_map = mpc85xx_early_serial_map;
+#endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */
if (ppc_md.progress)
ppc_md.progress("mpc85xx_cds_init(): exit", 0);
Index: arch/ppc/platforms/85xx/sbc8560.c
===================================================================
--- c9d59c269792db4933039da49b3b3836ac5b01f5/arch/ppc/platforms/85xx/sbc8560.c (mode:100644)
+++ 1702b9dd418707a930969079b460df0ace2f1c1a/arch/ppc/platforms/85xx/sbc8560.c (mode:100644)
@@ -221,6 +221,9 @@
#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_SERIAL_TEXT_DEBUG)
ppc_md.progress = gen550_progress;
#endif /* CONFIG_SERIAL_8250 && CONFIG_SERIAL_TEXT_DEBUG */
+#if defined(CONFIG_SERIAL_8250) && defined(CONFIG_KGDB)
+ ppc_md.early_serial_map = sbc8560_early_serial_map;
+#endif /* CONFIG_SERIAL_8250 && CONFIG_KGDB */
if (ppc_md.progress)
ppc_md.progress("sbc8560_init(): exit", 0);
^ permalink raw reply
* Re: What ethernet driver to use in 2.6.8.1 instead of gianfar in 2.6.11.x?
From: Clemens Koller @ 2005-05-17 16:45 UTC (permalink / raw)
To: Kumar Gala, linuxppc-embedded
In-Reply-To: <a659357b80a843e5eb3db2ebd5ec3c53@freescale.com>
Hello, Kumar!
>> for some tests and glibc-builds I want to work with a 2.6.8.1 kernel
>> temporarily on a freescale mpc8540.
>
> Out of interest, what issues did you have with 2.6.11.x?
I want to see if I can get more details out of failing glibc-2.3.{4,5} ntpl
tests on a running system. That's not related to anything mpc85xx specific.
I'll take the gianfar if necessary.
(Or I just plug a rtl8139 into pci... and go with that)
The .config is not an issue, then. Thanks!
Greets,
Clemens Koller
_______________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany
http://www.anagramm.de
Phone: +49-89-741518-50
Fax: +49-89-741518-19
Kumar Gala wrote:
>> In 2.6.8.1 there was no gianfar ethernet driver. Is it okay to use the
>> fec drivers instead of the gianfar or is it better to put the gianfar
>> drivers back into 2.6.8.1? (100Mbps are okay for that testing)
>
>
> I doubt fec drivers would ever work for the TSECs. You should be able
> to pull the driver code out of 2.6.11.x for gianfar back into 2.6.8.1
> w/o any real issue.
>
>> Maybe somebody can get me a working .config for 2.6.8.1 and mpc8540ads?
>
>
> Can you start with the .config file that exists in the 2.6.11 ?
>
> - kumar
>
>
^ permalink raw reply
* Re: [PATCH] i2c: Race fix for i2c-mpc.c
From: Kumar Gala @ 2005-05-17 16:12 UTC (permalink / raw)
To: Sylvain Munaut; +Cc: Asier Llano Palacios, ML linuxppc-embedded
In-Reply-To: <4288C4FD.8080104@246tNt.com>
Sylvain,
Looks reasonable to me. Add a Signed-off-by: Kumar Gala=20
<kumar.gala@freescale.com> line and sent to GregKH, lm-sensors guys. =20
CC me if you would.
- kumar
On May 16, 2005, at 11:06 AM, Sylvain Munaut wrote:
> Kumar Gala wrote:
> > Sylvain,
> >
> > Are you really still using the OCP side of the driver?=A0 Do we need =
a
> > similar fix for the platform driver side?
>
> /me hits himself with a hammer
>
> Damn I included the wrong diff ... Sorry about that, the good one is
> in attachment.
>
>
>
> No I don't use the OCP side but I changed both to stay coherent. I=20
> don't
> experience the problem myself, it's Asier who reported it and it
> apparently mostly shows up on the second i2c bus (where I have nothing
> on my hardware and anyway my bootloader init I2C beforehand ...).
>
> But the patch looks correct, when a bus is added, it should be ready =
to
> be used.
>
>
>
> =A0=A0=A0=A0=A0=A0=A0 Sylvain
>
>
>
> ---
> i2c: Race fix for i2c-mpc.c
>
> The problem was that the clock speed and driver data is
> initialized after the i2c adapter was added. This caused
> the i2c bus to start working at a wrong speed. (Mostly
> noticable on the second bus on mpc5200)
>
> With this patch we've tried to keep the i2c adapter
> working perfectly all the time it is included in the system.
> Initialize before added, Remove garbage after deleleted.
>
>
>
> Submitted-by: Asier Llano Palacios
> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
> ---
> <i2c-mpc-racefix.diff>=
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox