mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 00:01:35 +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>
		
	
			
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  *	OSS
 | |
|  *
 | |
|  *	This is used in place of VIA2 on the IIfx.
 | |
|  */
 | |
| 
 | |
| #define OSS_BASE	(0x50f1a000)
 | |
| 
 | |
| /*
 | |
|  * Interrupt level offsets for mac_oss->irq_level
 | |
|  */
 | |
| 
 | |
| #define OSS_NUBUS0	0
 | |
| #define OSS_NUBUS1	1
 | |
| #define OSS_NUBUS2	2
 | |
| #define OSS_NUBUS3	3
 | |
| #define OSS_NUBUS4	4
 | |
| #define OSS_NUBUS5	5
 | |
| #define OSS_IOPISM	6
 | |
| #define OSS_IOPSCC	7
 | |
| #define OSS_SOUND	8
 | |
| #define OSS_SCSI	9
 | |
| #define OSS_60HZ	10
 | |
| #define OSS_VIA1	11
 | |
| #define OSS_UNUSED1	12
 | |
| #define OSS_UNUSED2	13
 | |
| #define OSS_PARITY	14
 | |
| #define OSS_UNUSED3	15
 | |
| 
 | |
| #define OSS_NUM_SOURCES	16
 | |
| 
 | |
| /*
 | |
|  * Pending interrupt bits in mac_oss->irq_pending
 | |
|  */
 | |
| 
 | |
| #define OSS_IP_NUBUS0	0x0001
 | |
| #define OSS_IP_NUBUS1	0x0002
 | |
| #define OSS_IP_NUBUS2	0x0004
 | |
| #define OSS_IP_NUBUS3	0x0008
 | |
| #define OSS_IP_NUBUS4	0x0010
 | |
| #define OSS_IP_NUBUS5	0x0020
 | |
| #define OSS_IP_IOPISM	0x0040
 | |
| #define OSS_IP_IOPSCC	0x0080
 | |
| #define OSS_IP_SOUND	0x0100
 | |
| #define OSS_IP_SCSI	0x0200
 | |
| #define OSS_IP_60HZ	0x0400
 | |
| #define OSS_IP_VIA1	0x0800
 | |
| #define OSS_IP_UNUSED1	0x1000
 | |
| #define OSS_IP_UNUSED2	0x2000
 | |
| #define OSS_IP_PARITY	0x4000
 | |
| #define OSS_IP_UNUSED3	0x8000
 | |
| 
 | |
| #define OSS_IP_NUBUS (OSS_IP_NUBUS0|OSS_IP_NUBUS1|OSS_IP_NUBUS2|OSS_IP_NUBUS3|OSS_IP_NUBUS4|OSS_IP_NUBUS5)
 | |
| 
 | |
| /*
 | |
|  * Rom Control Register
 | |
|  */
 | |
| 
 | |
| #define OSS_POWEROFF	0x80
 | |
| 
 | |
| /*
 | |
|  * OSS Interrupt levels for various sub-systems
 | |
|  *
 | |
|  * This mapping is layed out with two things in mind: first, we try to keep
 | |
|  * things on their own levels to avoid having to do double-dispatches. Second,
 | |
|  * the levels match as closely as possible the alternate IRQ mapping mode (aka
 | |
|  * "A/UX mode") available on some VIA machines.
 | |
|  */
 | |
| 
 | |
| #define OSS_IRQLEV_DISABLED	0
 | |
| #define OSS_IRQLEV_IOPISM	1	/* ADB? */
 | |
| #define OSS_IRQLEV_SCSI		IRQ_AUTO_2
 | |
| #define OSS_IRQLEV_NUBUS	IRQ_AUTO_3	/* keep this on its own level */
 | |
| #define OSS_IRQLEV_IOPSCC	IRQ_AUTO_4	/* matches VIA alternate mapping */
 | |
| #define OSS_IRQLEV_SOUND	IRQ_AUTO_5	/* matches VIA alternate mapping */
 | |
| #define OSS_IRQLEV_60HZ		6	/* matches VIA alternate mapping */
 | |
| #define OSS_IRQLEV_VIA1		IRQ_AUTO_6	/* matches VIA alternate mapping */
 | |
| #define OSS_IRQLEV_PARITY	7	/* matches VIA alternate mapping */
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| struct mac_oss {
 | |
|     __u8  irq_level[0x10];	/* [0x000-0x00f] Interrupt levels */
 | |
|     __u8  padding0[0x1F2];	/* [0x010-0x201] IO space filler */
 | |
|     __u16 irq_pending;		/* [0x202-0x203] pending interrupts bits */
 | |
|     __u8  rom_ctrl;		/* [0x204-0x204] ROM cntl reg (for poweroff) */
 | |
|     __u8  padding1[0x2];	/* [0x205-0x206] currently unused by A/UX */
 | |
|     __u8  ack_60hz;		/* [0x207-0x207] 60 Hz ack. */
 | |
| };
 | |
| 
 | |
| extern volatile struct mac_oss *oss;
 | |
| extern int oss_present;
 | |
| 
 | |
| #endif /* __ASSEMBLY__ */
 |