Commit b61ff743 authored by David S. Miller's avatar David S. Miller

Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5

into nuts.ninka.net:/home/davem/src/BK/sparc-2.5
parents 621ce5a8 661ba372
...@@ -56,8 +56,8 @@ sys_call_table: ...@@ -56,8 +56,8 @@ sys_call_table:
/*175*/ .long sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr /*175*/ .long sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
/*180*/ .long sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_sigpending, sys_ni_syscall /*180*/ .long sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_sigpending, sys_ni_syscall
/*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname /*185*/ .long sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sys_newuname
/*190*/ .long sys_init_module, sys_personality, sparc_remap_file_pages, sys_nis_syscall, sys_nis_syscall /*190*/ .long sys_init_module, sys_personality, sparc_remap_file_pages, sys_epoll_create, sys_epoll_ctl
/*195*/ .long sys_nis_syscall, sys_nis_syscall, sys_getppid, sparc_sigaction, sys_sgetmask /*195*/ .long sys_epoll_wait, sys_nis_syscall, sys_getppid, sparc_sigaction, sys_sgetmask
/*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, old_readdir /*200*/ .long sys_ssetmask, sys_sigsuspend, sys_newlstat, sys_uselib, old_readdir
/*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_nis_syscall /*205*/ .long sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_nis_syscall
/*210*/ .long sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys_sysinfo /*210*/ .long sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys_sysinfo
......
...@@ -33,7 +33,7 @@ AS := $(AS) -64 ...@@ -33,7 +33,7 @@ AS := $(AS) -64
LDFLAGS := -m elf64_sparc LDFLAGS := -m elf64_sparc
LDFLAGS_BLOB := --format binary --oformat elf64-sparc LDFLAGS_BLOB := --format binary --oformat elf64-sparc
endif endif
ELFTOAOUT = elftoaout
ifneq ($(UNDECLARED_REGS),y) ifneq ($(UNDECLARED_REGS),y)
CC_UNDECL = CC_UNDECL =
else else
...@@ -63,13 +63,11 @@ core-$(CONFIG_SOLARIS_EMUL) += arch/sparc64/solaris/ ...@@ -63,13 +63,11 @@ core-$(CONFIG_SOLARIS_EMUL) += arch/sparc64/solaris/
core-y += arch/sparc64/math-emu/ core-y += arch/sparc64/math-emu/
libs-y += arch/sparc64/prom/ arch/sparc64/lib/ libs-y += arch/sparc64/prom/ arch/sparc64/lib/
vmlinux.aout: vmlinux makeboot =$(Q)$(MAKE) -f scripts/Makefile.build obj=arch/sparc64/boot $(1)
$(ELFTOAOUT) -o $(TOPDIR)/vmlinux.aout $(TOPDIR)/vmlinux
archclean: tftpboot.img vmlinux.aout:
rm -f $(TOPDIR)/vmlinux.aout $(call makeboot,arch/sparc64/boot/$@)
archmrproper: archmrproper:
archclean:
tftpboot.img:
$(MAKE) -C arch/sparc64/boot tftpboot.img
...@@ -4,17 +4,27 @@ ...@@ -4,17 +4,27 @@
# Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) # Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
# Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) # Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
ROOT_IMG =/usr/src/root.img ROOT_IMG := /usr/src/root.img
ELFTOAOUT =elftoaout ELFTOAOUT := elftoaout
all: boot host-progs := piggyback
EXTRA_TARGETS := tftpboot.img vmlinux.aout
boot: quiet_cmd_elftoaout = ELT2AOUT $@
@echo "Nothing special to be done for 'boot' on Linux/UltraSPARC." cmd_elftoaout = $(ELFTOAOUT) vmlinux -o $@
quiet_cmd_piggy = PIGGY $@
cmd_piggy = $(obj)/piggyback $@ System.map $(ROOT_IMG)
tftpboot.img: piggyback $(TOPDIR)/vmlinux $(ROOT_IMG) $(obj)/tftpboot.img: $(obj)/piggyback System.map vmlinux $(ROOT_IMG) FORCE
$(ELFTOAOUT) $(TOPDIR)/vmlinux -o tftpboot.img $(call if_changed,elftoaout)
./piggyback tftpboot.img $(TOPDIR)/System.map $(ROOT_IMG) $(call if_changed,piggy)
@echo ' kernel: $@ is ready'
piggyback: piggyback.c $(obj)/vmlinux.aout: vmlinux FORCE
$(HOSTCC) $(HOSTCFLAGS) -o piggyback piggyback.c $(call if_changed,elftoaout)
@echo ' kernel: $@ is ready'
archhelp:
@echo '* vmlinux - Standard sparc64 kernel'
@echo ' vmlinux.aout - a.out kernel for sparc64'
@echo ' tftpboot.img - Image prepared for tftp'
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
# Makefile for the linux kernel. # Makefile for the linux kernel.
# #
SH = $(CONFIG_SHELL)
EXTRA_AFLAGS := -ansi EXTRA_AFLAGS := -ansi
EXTRA_TARGETS := head.o init_task.o EXTRA_TARGETS := head.o init_task.o
......
...@@ -57,8 +57,8 @@ sys_call_table32: ...@@ -57,8 +57,8 @@ sys_call_table32:
.word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr .word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
/*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys32_sigpending, sys_ni_syscall /*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys32_sigpending, sys_ni_syscall
.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sparc64_newuname .word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sparc64_newuname
/*190*/ .word sys32_init_module, sparc64_personality, sys_remap_file_pages, sys_nis_syscall, sys_nis_syscall /*190*/ .word sys32_init_module, sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl
.word sys_nis_syscall, sys_nis_syscall, sys_getppid, sys32_sigaction, sys_sgetmask .word sys_epoll_wait, sys_nis_syscall, sys_getppid, sys32_sigaction, sys_sgetmask
/*200*/ .word sys_ssetmask, sys_sigsuspend, sys32_newlstat, sys_uselib, old32_readdir /*200*/ .word sys_ssetmask, sys_sigsuspend, sys32_newlstat, sys_uselib, old32_readdir
.word sys32_readahead, sys32_socketcall, sys_syslog, sys_lookup_dcookie, sys_nis_syscall .word sys32_readahead, sys32_socketcall, sys_syslog, sys_lookup_dcookie, sys_nis_syscall
/*210*/ .word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys32_sysinfo /*210*/ .word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys32_sysinfo
...@@ -116,8 +116,8 @@ sys_call_table: ...@@ -116,8 +116,8 @@ sys_call_table:
.word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr .word sys_setsid, sys_fchdir, sys_fgetxattr, sys_listxattr, sys_llistxattr
/*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_nis_syscall, sys_ni_syscall /*180*/ .word sys_flistxattr, sys_removexattr, sys_lremovexattr, sys_nis_syscall, sys_ni_syscall
.word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sparc64_newuname .word sys_setpgid, sys_fremovexattr, sys_tkill, sys_exit_group, sparc64_newuname
/*190*/ .word sys_init_module, sparc64_personality, sys_remap_file_pages, sys_nis_syscall, sys_nis_syscall /*190*/ .word sys_init_module, sparc64_personality, sys_remap_file_pages, sys_epoll_create, sys_epoll_ctl
.word sys_nis_syscall, sys_nis_syscall, sys_getppid, sys_nis_syscall, sys_sgetmask .word sys_epoll_wait, sys_nis_syscall, sys_getppid, sys_nis_syscall, sys_sgetmask
/*200*/ .word sys_ssetmask, sys_nis_syscall, sys_newlstat, sys_uselib, sys_nis_syscall /*200*/ .word sys_ssetmask, sys_nis_syscall, sys_newlstat, sys_uselib, sys_nis_syscall
.word sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_nis_syscall .word sys_readahead, sys_socketcall, sys_syslog, sys_lookup_dcookie, sys_nis_syscall
/*210*/ .word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys_sysinfo /*210*/ .word sys_nis_syscall, sys_nis_syscall, sys_waitpid, sys_swapoff, sys_sysinfo
......
...@@ -11,5 +11,3 @@ obj-y := PeeCeeI.o blockops.o debuglocks.o strlen.o strncmp.o \ ...@@ -11,5 +11,3 @@ obj-y := PeeCeeI.o blockops.o debuglocks.o strlen.o strncmp.o \
VIScsumcopyusr.o VISsave.o atomic.o rwlock.o bitops.o \ VIScsumcopyusr.o VISsave.o atomic.o rwlock.o bitops.o \
dec_and_lock.o U3memcpy.o U3copy_from_user.o U3copy_to_user.o \ dec_and_lock.o U3memcpy.o U3copy_from_user.o U3copy_to_user.o \
U3copy_in_user.o mcount.o ipcsum.o U3copy_in_user.o mcount.o ipcsum.o
include $(TOPDIR)/Rules.make
...@@ -4,6 +4,4 @@ ...@@ -4,6 +4,4 @@
obj-y := math.o obj-y := math.o
EXTRA_CFLAGS = -I. -I$(TOPDIR)/include/math-emu -w EXTRA_CFLAGS = -I. -Iinclude/math-emu -w
include $(TOPDIR)/Rules.make
...@@ -7,5 +7,3 @@ EXTRA_AFLAGS := -ansi ...@@ -7,5 +7,3 @@ EXTRA_AFLAGS := -ansi
obj-y := ultra.o fault.o init.o generic.o extable.o obj-y := ultra.o fault.o init.o generic.o extable.o
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
include $(TOPDIR)/Rules.make
...@@ -8,5 +8,3 @@ EXTRA_AFLAGS := -ansi ...@@ -8,5 +8,3 @@ EXTRA_AFLAGS := -ansi
L_TARGET = lib.a L_TARGET = lib.a
obj-y := bootstr.o devops.o init.o memory.o misc.o \ obj-y := bootstr.o devops.o init.o memory.o misc.o \
tree.o console.o printf.o p1275.o map.o tree.o console.o printf.o p1275.o map.o
include $(TOPDIR)/Rules.make
...@@ -8,5 +8,3 @@ solaris-objs := entry64.o fs.o misc.o signal.o systbl.o socket.o \ ...@@ -8,5 +8,3 @@ solaris-objs := entry64.o fs.o misc.o signal.o systbl.o socket.o \
ioctl.o ipc.o socksys.o timod.o ioctl.o ipc.o socksys.o timod.o
obj-$(CONFIG_SOLARIS_EMUL) += solaris.o obj-$(CONFIG_SOLARIS_EMUL) += solaris.o
include $(TOPDIR)/Rules.make
...@@ -24,6 +24,8 @@ SECTIONS ...@@ -24,6 +24,8 @@ SECTIONS
CONSTRUCTORS CONSTRUCTORS
} }
.data1 : { *(.data1) } .data1 : { *(.data1) }
. = ALIGN(64);
.data.cacheline_aligned : { *(.data.cacheline_aligned) }
_edata = .; _edata = .;
PROVIDE (edata = .); PROVIDE (edata = .);
.fixup : { *(.fixup) } .fixup : { *(.fixup) }
...@@ -70,8 +72,6 @@ SECTIONS ...@@ -70,8 +72,6 @@ SECTIONS
__per_cpu_end = .; __per_cpu_end = .;
. = ALIGN(8192); . = ALIGN(8192);
__init_end = .; __init_end = .;
. = ALIGN(64);
.data.cacheline_aligned : { *(.data.cacheline_aligned) }
__bss_start = .; __bss_start = .;
.sbss : { *(.sbss) *(.scommon) } .sbss : { *(.sbss) *(.scommon) }
.bss : .bss :
......
...@@ -123,7 +123,7 @@ extern void fpsave(unsigned long *fpregs, unsigned long *fsr, ...@@ -123,7 +123,7 @@ extern void fpsave(unsigned long *fpregs, unsigned long *fsr,
"save %sp, -0x40, %sp\n\t" \ "save %sp, -0x40, %sp\n\t" \
"restore; restore; restore; restore; restore; restore; restore"); \ "restore; restore; restore; restore; restore; restore; restore"); \
} while(0) } while(0)
#define finish_arch_switch(rq, next) do{ }while(0) #define finish_arch_switch(rq, next) spin_unlock_irq(&(rq)->lock)
#define task_running(rq, p) ((rq)->curr == (p)) #define task_running(rq, p) ((rq)->curr == (p))
/* Much care has gone into this code, do not touch it. /* Much care has gone into this code, do not touch it.
...@@ -195,21 +195,6 @@ extern __inline__ void setipl(unsigned long __orig_psr) ...@@ -195,21 +195,6 @@ extern __inline__ void setipl(unsigned long __orig_psr)
: "memory", "cc"); : "memory", "cc");
} }
extern __inline__ void local_irq_disable(void)
{
unsigned long tmp;
__asm__ __volatile__(
"rd %%psr, %0\n\t"
"nop; nop; nop;\n\t" /* Sun4m + Cypress + SMP bug */
"or %0, %1, %0\n\t"
"wr %0, 0x0, %%psr\n\t"
"nop; nop; nop\n"
: "=r" (tmp)
: "i" (PSR_PIL)
: "memory");
}
extern __inline__ void local_irq_enable(void) extern __inline__ void local_irq_enable(void)
{ {
unsigned long tmp; unsigned long tmp;
...@@ -233,6 +218,7 @@ extern __inline__ unsigned long getipl(void) ...@@ -233,6 +218,7 @@ extern __inline__ unsigned long getipl(void)
return retval; return retval;
} }
#if 0 /* not used */
extern __inline__ unsigned long swap_pil(unsigned long __new_psr) extern __inline__ unsigned long swap_pil(unsigned long __new_psr)
{ {
unsigned long retval; unsigned long retval;
...@@ -254,6 +240,7 @@ extern __inline__ unsigned long swap_pil(unsigned long __new_psr) ...@@ -254,6 +240,7 @@ extern __inline__ unsigned long swap_pil(unsigned long __new_psr)
return retval; return retval;
} }
#endif
extern __inline__ unsigned long read_psr_and_cli(void) extern __inline__ unsigned long read_psr_and_cli(void)
{ {
...@@ -275,15 +262,9 @@ extern __inline__ unsigned long read_psr_and_cli(void) ...@@ -275,15 +262,9 @@ extern __inline__ unsigned long read_psr_and_cli(void)
#define local_save_flags(flags) ((flags) = getipl()) #define local_save_flags(flags) ((flags) = getipl())
#define local_irq_save(flags) ((flags) = read_psr_and_cli()) #define local_irq_save(flags) ((flags) = read_psr_and_cli())
#define local_irq_restore(flags) setipl((flags)) #define local_irq_restore(flags) setipl((flags))
#define local_irq_disable() ((void) read_psr_and_cli())
/* On sparc32 IRQ flags are the PSR register in the PSR_PIL #define irqs_disabled() ((getipl() & PSR_PIL) != 0)
* field.
*/
#define irqs_disabled() \
({ unsigned long flags; \
local_save_flags(flags);\
(flags & PSR_PIL) != 0; \
})
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
......
...@@ -208,9 +208,9 @@ ...@@ -208,9 +208,9 @@
#define __NR_init_module 190 /* Linux Specific */ #define __NR_init_module 190 /* Linux Specific */
#define __NR_personality 191 /* Linux Specific */ #define __NR_personality 191 /* Linux Specific */
#define __NR_remap_file_pages 192 /* Linux Specific */ #define __NR_remap_file_pages 192 /* Linux Specific */
/* #define __NR_break 193 Linux Specific */ #define __NR_epoll_create 193 /* Linux Specific */
/* #define __NR_lock 194 Linux Specific */ #define __NR_epoll_ctl 194 /* Linux Specific */
/* #define __NR_mpx 195 Linux Specific */ #define __NR_epoll_wait 195 /* Linux Specific */
/* #define __NR_ulimit 196 Linux Specific */ /* #define __NR_ulimit 196 Linux Specific */
#define __NR_getppid 197 /* Linux Specific */ #define __NR_getppid 197 /* Linux Specific */
#define __NR_sigaction 198 /* Linux Specific */ #define __NR_sigaction 198 /* Linux Specific */
......
...@@ -208,9 +208,9 @@ ...@@ -208,9 +208,9 @@
#define __NR_init_module 190 /* Linux Specific */ #define __NR_init_module 190 /* Linux Specific */
#define __NR_personality 191 /* Linux Specific */ #define __NR_personality 191 /* Linux Specific */
#define __NR_remap_file_pages 192 /* Linux Specific */ #define __NR_remap_file_pages 192 /* Linux Specific */
/* #define __NR_break 193 Linux Specific */ #define __NR_epoll_create 193 /* Linux Specific */
/* #define __NR_lock 194 Linux Specific */ #define __NR_epoll_ctl 194 /* Linux Specific */
/* #define __NR_mpx 195 Linux Specific */ #define __NR_epoll_wait 195 /* Linux Specific */
/* #define __NR_ulimit 196 Linux Specific */ /* #define __NR_ulimit 196 Linux Specific */
#define __NR_getppid 197 /* Linux Specific */ #define __NR_getppid 197 /* Linux Specific */
#define __NR_sigaction 198 /* Linux Specific */ #define __NR_sigaction 198 /* Linux Specific */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment