mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 05:14:38 +00:00 
			
		
		
		
	 49148020bc
			
		
	
	
		49148020bc
		
	
	
	
	
		
			
			Merge header files for m68k and m68knommu to the single location:
    arch/m68k/include/asm
The majority of this patch was the result of the
script that is included in the changelog below.
The script was originally written by Arnd Bergman and
exten by me to cover a few more files.
When the header files differed the script uses the following:
The original m68k file is named <file>_mm.h  [mm for memory manager]
The m68knommu file is named <file>_no.h [no for no memory manager]
The files uses the following include guard:
This include gaurd works as the m68knommu toolchain set
the __uClinux__ symbol - so this should work in userspace too.
Merging the header files for m68k and m68knommu exposes the
(unexpected?) ABI differences thus it is easier to actually
identify these and thus to fix them.
The commit has been build tested with both a m68k and
a m68knommu toolchain - with success.
The commit has also been tested with "make headers_check"
and this patch fixes make headers_check for m68knommu.
The script used:
TARGET=arch/m68k/include/asm
SOURCE=arch/m68knommu/include/asm
INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \
linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \
oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \
shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \
termbits.h termios.h tlb.h types.h user.h"
EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \
ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \
sections.h topology.h"
NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \
elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \
m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \
m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \
m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \
mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \
mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \
nettel.h quicc_simple.h smp.h"
FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \
cacheflush.h checksum.h current.h delay.h div64.h \
dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \
irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \
module.h page.h page_offset.h param.h pci.h pgalloc.h \
pgtable.h processor.h ptrace.h scatterlist.h segment.h \
setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \
thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \
unaligned.h unistd.h"
mergefile() {
	BASE=${1%.h}
	git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h
	git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h
cat << EOF > ${TARGET}/$1
EOF
	git add ${TARGET}/$1
}
set -e
mkdir -p ${TARGET}
git mv include/asm-m68k/* ${TARGET}
rmdir include/asm-m68k
git rm ${SOURCE}/Kbuild
for F in $INCLUDE $EQUAL; do
	git rm ${SOURCE}/$F
done
for F in $NOMUUFILES; do
	git mv ${SOURCE}/$F ${TARGET}/$F
done
for F in $FILES ; do
	mergefile $F
done
rmdir arch/m68knommu/include/asm
rmdir arch/m68knommu/include
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
		
	
			
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /****************************************************************************/
 | |
| 
 | |
| /*
 | |
|  *	anchor.h -- Anchor CO-MEM Lite PCI host bridge part.
 | |
|  *
 | |
|  *	(C) Copyright 2000, Moreton Bay (www.moreton.com.au)
 | |
|  */
 | |
| 
 | |
| /****************************************************************************/
 | |
| #ifndef	anchor_h
 | |
| #define	anchor_h
 | |
| /****************************************************************************/
 | |
| 
 | |
| /*
 | |
|  *	Define basic addressing info.
 | |
|  */
 | |
| #if defined(CONFIG_M5407C3)
 | |
| #define	COMEM_BASE	0xFFFF0000	/* Base of CO-MEM address space */
 | |
| #define	COMEM_IRQ	25		/* IRQ of anchor part */
 | |
| #else
 | |
| #define	COMEM_BASE	0x80000000	/* Base of CO-MEM address space */
 | |
| #define	COMEM_IRQ	25		/* IRQ of anchor part */
 | |
| #endif
 | |
| 
 | |
| /****************************************************************************/
 | |
| 
 | |
| /*
 | |
|  *	4-byte registers of CO-MEM, so adjust register addresses for
 | |
|  *	easy access. Handy macro for word access too.
 | |
|  */
 | |
| #define	LREG(a)		((a) >> 2)
 | |
| #define	WREG(a)		((a) >> 1)
 | |
| 
 | |
| 
 | |
| /*
 | |
|  *	Define base addresses within CO-MEM Lite register address space.
 | |
|  */
 | |
| #define	COMEM_I2O	0x0000		/* I2O registers */
 | |
| #define	COMEM_OPREGS	0x0400		/* Operation registers */
 | |
| #define	COMEM_PCIBUS	0x2000		/* Direct access to PCI bus */
 | |
| #define	COMEM_SHMEM	0x4000		/* Shared memory region */
 | |
| 
 | |
| #define	COMEM_SHMEMSIZE	0x4000		/* Size of shared memory */
 | |
| 
 | |
| 
 | |
| /*
 | |
|  *	Define CO-MEM Registers.
 | |
|  */
 | |
| #define	COMEM_I2OHISR	0x0030		/* I2O host interrupt status */
 | |
| #define	COMEM_I2OHIMR	0x0034		/* I2O host interrupt mask */
 | |
| #define	COMEM_I2OLISR	0x0038		/* I2O local interrupt status */
 | |
| #define	COMEM_I2OLIMR	0x003c		/* I2O local interrupt mask */
 | |
| #define	COMEM_IBFPFIFO	0x0040		/* I2O inbound free/post FIFO */
 | |
| #define	COMEM_OBPFFIFO	0x0044		/* I2O outbound post/free FIFO */
 | |
| #define	COMEM_IBPFFIFO	0x0048		/* I2O inbound post/free FIFO */
 | |
| #define	COMEM_OBFPFIFO	0x004c		/* I2O outbound free/post FIFO */
 | |
| 
 | |
| #define	COMEM_DAHBASE	0x0460		/* Direct access base address */
 | |
| 
 | |
| #define	COMEM_NVCMD	0x04a0		/* I2C serial command */
 | |
| #define	COMEM_NVREAD	0x04a4		/* I2C serial read */
 | |
| #define	COMEM_NVSTAT	0x04a8		/* I2C status */
 | |
| 
 | |
| #define	COMEM_DMALBASE	0x04b0		/* DMA local base address */
 | |
| #define	COMEM_DMAHBASE	0x04b4		/* DMA host base address */
 | |
| #define	COMEM_DMASIZE	0x04b8		/* DMA size */
 | |
| #define	COMEM_DMACTL	0x04bc		/* DMA control */
 | |
| 
 | |
| #define	COMEM_HCTL	0x04e0		/* Host control */
 | |
| #define	COMEM_HINT	0x04e4		/* Host interrupt control/status */
 | |
| #define	COMEM_HLDATA	0x04e8		/* Host to local data mailbox */
 | |
| #define	COMEM_LINT	0x04f4		/* Local interrupt contole status */
 | |
| #define	COMEM_LHDATA	0x04f8		/* Local to host data mailbox */
 | |
| 
 | |
| #define	COMEM_LBUSCFG	0x04fc		/* Local bus configuration */
 | |
| 
 | |
| 
 | |
| /*
 | |
|  *	Commands and flags for use with Direct Access Register.
 | |
|  */
 | |
| #define	COMEM_DA_IACK	0x00000000	/* Interrupt acknowledge (read) */
 | |
| #define	COMEM_DA_SPCL	0x00000010	/* Special cycle (write) */
 | |
| #define	COMEM_DA_MEMRD	0x00000004	/* Memory read cycle */
 | |
| #define	COMEM_DA_MEMWR	0x00000004	/* Memory write cycle */
 | |
| #define	COMEM_DA_IORD	0x00000002	/* I/O read cycle */
 | |
| #define	COMEM_DA_IOWR	0x00000002	/* I/O write cycle */
 | |
| #define	COMEM_DA_CFGRD	0x00000006	/* Configuration read cycle */
 | |
| #define	COMEM_DA_CFGWR	0x00000006	/* Configuration write cycle */
 | |
| 
 | |
| #define	COMEM_DA_ADDR(a)	((a) & 0xffffe000)
 | |
| 
 | |
| #define	COMEM_DA_OFFSET(a)	((a) & 0x00001fff)
 | |
| 
 | |
| 
 | |
| /*
 | |
|  *	The PCI bus will be limited in what slots will actually be used.
 | |
|  *	Define valid device numbers for different boards.
 | |
|  */
 | |
| #if defined(CONFIG_M5407C3)
 | |
| #define	COMEM_MINDEV	14		/* Minimum valid DEVICE */
 | |
| #define	COMEM_MAXDEV	14		/* Maximum valid DEVICE */
 | |
| #define	COMEM_BRIDGEDEV	15		/* Slot bridge is in */
 | |
| #else
 | |
| #define	COMEM_MINDEV	0		/* Minimum valid DEVICE */
 | |
| #define	COMEM_MAXDEV	3		/* Maximum valid DEVICE */
 | |
| #endif
 | |
| 
 | |
| #define	COMEM_MAXPCI	(COMEM_MAXDEV+1)	/* Maximum PCI devices */
 | |
| 
 | |
| 
 | |
| /****************************************************************************/
 | |
| #endif	/* anchor_h */
 |