Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
e7b8d7bd
Commit
e7b8d7bd
authored
Mar 30, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
0cc0f8e0
57cafcc8
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
356 additions
and
233 deletions
+356
-233
arch/sparc/defconfig
arch/sparc/defconfig
+225
-78
arch/sparc/kernel/entry.S
arch/sparc/kernel/entry.S
+7
-20
arch/sparc/kernel/head.S
arch/sparc/kernel/head.S
+0
-3
arch/sparc/kernel/init_task.c
arch/sparc/kernel/init_task.c
+4
-2
arch/sparc/kernel/module.c
arch/sparc/kernel/module.c
+13
-5
arch/sparc/kernel/signal.c
arch/sparc/kernel/signal.c
+2
-2
arch/sparc/kernel/sparc_ksyms.c
arch/sparc/kernel/sparc_ksyms.c
+45
-60
arch/sparc/kernel/sys_sunos.c
arch/sparc/kernel/sys_sunos.c
+2
-2
arch/sparc/kernel/traps.c
arch/sparc/kernel/traps.c
+5
-5
arch/sparc/lib/Makefile
arch/sparc/lib/Makefile
+3
-1
arch/sparc/lib/debuglocks.c
arch/sparc/lib/debuglocks.c
+2
-3
arch/sparc/math-emu/math.c
arch/sparc/math-emu/math.c
+2
-0
arch/sparc64/kernel/sparc64_ksyms.c
arch/sparc64/kernel/sparc64_ksyms.c
+3
-0
drivers/block/carmel.c
drivers/block/carmel.c
+2
-1
drivers/fc4/soc.h
drivers/fc4/soc.h
+7
-3
fs/intermezzo/file.c
fs/intermezzo/file.c
+3
-3
fs/intermezzo/fileset.c
fs/intermezzo/fileset.c
+6
-4
fs/intermezzo/journal.c
fs/intermezzo/journal.c
+2
-2
fs/intermezzo/kml_reint.c
fs/intermezzo/kml_reint.c
+6
-4
fs/intermezzo/psdev.c
fs/intermezzo/psdev.c
+4
-4
fs/intermezzo/upcall.c
fs/intermezzo/upcall.c
+7
-2
include/asm-sparc/asmmacro.h
include/asm-sparc/asmmacro.h
+0
-11
include/asm-sparc/smp.h
include/asm-sparc/smp.h
+4
-4
scripts/modpost.c
scripts/modpost.c
+2
-14
No files found.
arch/sparc/defconfig
View file @
e7b8d7bd
...
...
@@ -10,6 +10,9 @@ CONFIG_GENERIC_ISA_DMA=y
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
...
...
@@ -19,6 +22,16 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
# Loadable module support
...
...
@@ -50,9 +63,8 @@ CONFIG_PCI=y
# CONFIG_PCI_LEGACY_PROC is not set
# CONFIG_PCI_NAMES is not set
CONFIG_SUN_OPENPROMFS=m
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=m
CONFIG_SUNOS_EMUL=y
...
...
@@ -61,6 +73,11 @@ CONFIG_SUNOS_EMUL=y
#
# CONFIG_PARPORT is not set
#
# Generic Driver Options
#
# CONFIG_DEBUG_DRIVER is not set
#
# Graphics support
#
...
...
@@ -69,7 +86,6 @@ CONFIG_SUNOS_EMUL=y
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
# CONFIG_PROM_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
...
...
@@ -89,7 +105,9 @@ CONFIG_DUMMY_CONSOLE=y
#
CONFIG_SERIAL_SUNCORE=y
CONFIG_SERIAL_SUNZILOG=y
CONFIG_SERIAL_SUNZILOG_CONSOLE=y
CONFIG_SERIAL_SUNSU=y
CONFIG_SERIAL_SUNSU_CONSOLE=y
# CONFIG_SERIAL_SUNSAB is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
...
...
@@ -111,13 +129,14 @@ CONFIG_RTC=m
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
# CONFIG_BLK_DEV_NBD is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_CARMEL is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
...
...
@@ -130,12 +149,13 @@ CONFIG_BLK_DEV_INITRD=y
#
# ISDN subsystem
#
# CONFIG_ISDN
_BOOL
is not set
# CONFIG_ISDN is not set
#
# SCSI support
# SCSI
device
support
#
CONFIG_SCSI=y
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
...
...
@@ -155,6 +175,12 @@ CONFIG_SCSI_REPORT_LUNS=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
#
# SCSI Transport Attributes
#
CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_FC_ATTRS is not set
#
# SCSI low-level drivers
#
...
...
@@ -164,10 +190,9 @@ CONFIG_SCSI_REPORT_LUNS=y
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
...
...
@@ -175,21 +200,22 @@ CONFIG_SCSI_REPORT_LUNS=y
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
CONFIG_SCSI_QLOGICPTI=m
CONFIG_SCSI_QLA2XXX=y
# CONFIG_SCSI_QLA21XX is not set
# CONFIG_SCSI_QLA22XX is not set
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
# CONFIG_SCSI_QLA6322 is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_DEBUG is not set
CONFIG_SCSI_SUNESP=y
...
...
@@ -199,6 +225,11 @@ CONFIG_SCSI_SUNESP=y
#
# CONFIG_FC4 is not set
#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
#
# Networking support
#
...
...
@@ -210,8 +241,6 @@ CONFIG_NET=y
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK_DEV=y
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_NET_KEY=m
CONFIG_INET=y
...
...
@@ -224,26 +253,36 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_
XFRM_USER=m
CONFIG_
INET_IPCOMP=y
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_TUNNEL=m
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETFILTER is not set
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
CONFIG_IP_SCTP=m
# CONFIG_SCTP_ADLER32 is not set
# CONFIG_SCTP_DBG_MSG is not set
CONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC is not set
# CONFIG_
DECNET
is not set
# CONFIG_
BRIDGE
is not set
# CONFIG_LLC
2
is not set
# CONFIG_
IPX
is not set
# CONFIG_
ATALK
is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
...
...
@@ -261,28 +300,97 @@ CONFIG_SCTP_DBG_OBJCNT=y
# Network testing
#
CONFIG_NET_PKTGEN=m
CONFIG_NETDEVICES=y
#
#
Network device support
#
ARCnet devices
#
CONFIG_NETDEVICES=y
# CONFIG_ARCNET is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_SUNLANCE=m
CONFIG_HAPPYMEAL=y
# CONFIG_SUNBMAC is not set
# CONFIG_ETHERTAP is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_SUNLANCE=y
CONFIG_HAPPYMEAL=m
CONFIG_SUNBMAC=m
CONFIG_SUNQE=m
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_PCI 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_VORTEX=m
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
#
# Ethernet (10000 Mbit)
#
# CONFIG_IXGB is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI 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
# CONFIG_NETCONSOLE 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
#
# Bluetooth support
#
# CONFIG_BT is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
#
# Unix98 PTY support
#
...
...
@@ -297,7 +405,7 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=
m
CONFIG_INPUT_MOUSEDEV=
y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
...
...
@@ -315,6 +423,7 @@ CONFIG_SERIO=m
# CONFIG_SERIO_I8042 is not set
CONFIG_SERIO_SERPORT=m
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
#
# Input Device Drivers
...
...
@@ -322,11 +431,13 @@ CONFIG_SERIO_SERPORT=m
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=m
CONFIG_KEYBOARD_SUNKBD=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
...
...
@@ -334,68 +445,93 @@ CONFIG_MOUSE_SERIAL=m
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
CONFIG_XFS_RT=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_SECURITY=y
CONFIG_XFS_POSIX_ACL=y
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=m
# CONFIG_QUOTA is not set
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
# CONFIG_REISERFS_FS is not set
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
# CONFIG_FAT_FS is not set
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
# CONFIG_TMPFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_FAT_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_TMPFS is not set
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=m
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
# CONFIG_JFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_RT=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
#
# 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_V4 is not set
CONFIG_ROOT_NFS=y
# CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD is not set
CONFIG_
SUNRPC
=y
CONFIG_
ROOT_NFS
=y
CONFIG_LOCKD=y
# CONFIG_EXPORTFS is not set
CONFIG_CIFS=m
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SMB_FS is not set
CONFIG_CIFS=m
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_AFS_FS=m
CONFIG_RXRPC=m
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y
#
# Partition Types
...
...
@@ -403,11 +539,11 @@ CONFIG_FS_POSIX_ACL=y
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
...
...
@@ -448,7 +584,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_UTF8 is not set
#
# Sound
card support
# Sound
#
# CONFIG_SOUND is not set
...
...
@@ -456,26 +592,28 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# USB support
#
# CONFIG_USB is not set
# CONFIG_USB_GADGET is not set
#
#
Bluetooth s
upport
#
USB Gadget S
upport
#
# CONFIG_
B
T is not set
# CONFIG_
USB_GADGE
T is not set
#
# Watchdog
# Watchdog
Cards
#
# CONFIG_
SOFT_
WATCHDOG is not set
# CONFIG_WATCHDOG is not set
#
# Kernel hacking
#
CONFIG_DEBUG_SLAB=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_SPINLOCK=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_BUGVERBOSE is not set
#
# Security options
...
...
@@ -492,13 +630,22 @@ CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_TEST is not set
#
# Library routines
#
CONFIG_CRC32=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
arch/sparc/kernel/entry.S
View file @
e7b8d7bd
...
...
@@ -288,10 +288,9 @@ bad_trap_handler:
wr
%
l0
,
PSR_ET
,
%
psr
WRITE_PAUSE
mov
%
l7
,
%
o0
!
trap
number
mov
%
l0
,
%
o1
!
psr
add
%
sp
,
STACKFRAME_SZ
,
%
o0
!
pt_regs
call
do_hw_interrupt
mov
%
l
1
,
%
o2
!
pc
mov
%
l
7
,
%
o1
!
trap
number
RESTORE_ALL
...
...
@@ -350,21 +349,15 @@ smp4m_ticker:
*
for
cross
calls
.
That
has
a
separate
entry
point
below
.
*/
maybe_smp4m_msg
:
GET_PROCESSOR
_M
ID
(
o3
)
GET_PROCESSOR
4M_
ID
(
o3
)
set
sun4m_interrupts
,
%
l5
ld
[%
l5
],
%
o5
sethi
%
hi
(
0x
60000000
),
%
o4
sethi
%
hi
(
0x
40000000
),
%
o2
sll
%
o3
,
12
,
%
o3
ld
[%
o5
+
%
o3
],
%
o1
andcc
%
o1
,
%
o
4
,
%
g0
andcc
%
o1
,
%
o
2
,
%
g0
be
,
a
smp4m_ticker
cmp
%
l7
,
14
sethi
%
hi
(
0x40000000
),
%
o2
add
%
o5
,
%
o3
,
%
o5
andcc
%
o1
,
%
o2
,
%
g0
be
,
a
1
f
sethi
%
hi
(
0x20000000
),
%
o2
1
:
st
%
o2
,
[%
o5
+
0x4
]
WRITE_PAUSE
ld
[%
o5
],
%
g0
...
...
@@ -374,15 +367,9 @@ maybe_smp4m_msg:
WRITE_PAUSE
wr
%
l4
,
PSR_ET
,
%
psr
WRITE_PAUSE
srl
%
o2
,
(
16
+
14
),
%
o2
tst
%
o2
bne
2
f
nop
call
smp_reschedule_irq
add
%
o7
,
8
,
%
o7
2
:
call
smp_stop_cpu_irq
nop
RESTORE_ALL
.
align
4
...
...
@@ -390,7 +377,7 @@ maybe_smp4m_msg:
linux_trap_ipi15_sun4m
:
SAVE_ALL
sethi
%
hi
(
0x80000000
),
%
o2
GET_PROCESSOR
_M
ID
(
o0
)
GET_PROCESSOR
4M_
ID
(
o0
)
set
sun4m_interrupts
,
%
l5
ld
[%
l5
],
%
o5
sll
%
o0
,
12
,
%
o0
...
...
arch/sparc/kernel/head.S
View file @
e7b8d7bd
...
...
@@ -746,9 +746,6 @@ go_to_highmem:
jmpl
%
g1
,
%
g0
nop
/
*
This
is
to
align
init_thread_union
properly
,
be
careful
.
-
DaveM
*/
.
align
8192
/*
The
code
above
should
be
at
beginning
and
we
have
to
take
care
about
*
short
jumps
,
as
branching
to
.
text
.
init
section
from
.
text
is
usually
*
impossible
*/
...
...
arch/sparc/kernel/init_task.c
View file @
e7b8d7bd
...
...
@@ -21,5 +21,7 @@ EXPORT_SYMBOL(init_task);
* If this is not aligned on a 8k boundry, then you should change code
* in etrap.S which assumes it.
*/
__asm__
(
".section
\"
.text
\"
,#alloc
\n
"
);
union
thread_union
init_thread_union
=
{
INIT_THREAD_INFO
(
init_task
)
};
union
thread_union
init_thread_union
__attribute__
((
section
(
".text"
)))
__attribute__
((
aligned
(
THREAD_SIZE
)))
=
{
INIT_THREAD_INFO
(
init_task
)
};
arch/sparc/kernel/module.c
View file @
e7b8d7bd
...
...
@@ -36,7 +36,9 @@ void module_free(struct module *mod, void *module_region)
table entries. */
}
/* Make generic code ignore STT_REGISTER dummy undefined symbols. */
/* Make generic code ignore STT_REGISTER dummy undefined symbols,
* and replace references to .func with func as in ppc64's dedotify.
*/
int
module_frob_arch_sections
(
Elf_Ehdr
*
hdr
,
Elf_Shdr
*
sechdrs
,
char
*
secstrings
,
...
...
@@ -44,7 +46,7 @@ int module_frob_arch_sections(Elf_Ehdr *hdr,
{
unsigned
int
symidx
;
Elf32_Sym
*
sym
;
c
onst
c
har
*
strtab
;
char
*
strtab
;
int
i
;
for
(
symidx
=
0
;
sechdrs
[
symidx
].
sh_type
!=
SHT_SYMTAB
;
symidx
++
)
{
...
...
@@ -57,9 +59,15 @@ int module_frob_arch_sections(Elf_Ehdr *hdr,
strtab
=
(
char
*
)
sechdrs
[
sechdrs
[
symidx
].
sh_link
].
sh_addr
;
for
(
i
=
1
;
i
<
sechdrs
[
symidx
].
sh_size
/
sizeof
(
Elf_Sym
);
i
++
)
{
if
(
sym
[
i
].
st_shndx
==
SHN_UNDEF
&&
ELF32_ST_TYPE
(
sym
[
i
].
st_info
)
==
STT_REGISTER
)
sym
[
i
].
st_shndx
=
SHN_ABS
;
if
(
sym
[
i
].
st_shndx
==
SHN_UNDEF
)
{
if
(
ELF32_ST_TYPE
(
sym
[
i
].
st_info
)
==
STT_REGISTER
)
sym
[
i
].
st_shndx
=
SHN_ABS
;
else
{
char
*
name
=
strtab
+
sym
[
i
].
st_name
;
if
(
name
[
0
]
==
'.'
)
memmove
(
name
,
name
+
1
,
strlen
(
name
));
}
}
}
return
0
;
}
...
...
arch/sparc/kernel/signal.c
View file @
e7b8d7bd
...
...
@@ -1128,9 +1128,9 @@ do_sys_sigstack(struct sigstack __user *ssptr, struct sigstack __user *ossptr,
/* Now see if we want to update the new state. */
if
(
ssptr
)
{
void
*
ss_sp
;
char
*
ss_sp
;
if
(
get_user
(
(
long
)
ss_sp
,
&
ssptr
->
the_stack
))
if
(
get_user
(
ss_sp
,
&
ssptr
->
the_stack
))
goto
out
;
/* If the current stack was set with sigaltstack, don't
swap stacks while we are on it. */
...
...
arch/sparc/kernel/sparc_ksyms.c
View file @
e7b8d7bd
...
...
@@ -92,31 +92,21 @@ extern void ___set_bit(void);
extern
void
___clear_bit
(
void
);
extern
void
___change_bit
(
void
);
/* One thing to note is that the way the symbols of the mul/div
* support routines are named is a mess, they all start with
* a '.' which makes it a bitch to export, here is the trick:
/* Alias functions whose names begin with "." and export the aliases.
* The module references will be fixed up by module_frob_arch_sections.
*/
#define DOT_ALIAS2(__ret, __x, __arg1, __arg2) \
extern __ret __x(__arg1, __arg2) \
__attribute__((weak, alias("." # __x)));
/* If the interface of any of these special functions does ever
* change in an incompatible way, you must modify this.
*/
#define DOT_PROTO(sym) extern int __dot_##sym(int, int)
#ifdef __GENKSYMS__
#define EXPORT_SYMBOL_DOT(sym) \
DOT_PROTO(sym); \
EXPORT_SYMBOL(__dot_ ## sym)
#else
/* !__GENKSYMS__ */
#define EXPORT_SYMBOL_DOT(sym) \
DOT_PROTO(sym) __asm__("." # sym); \
__CRC_SYMBOL(__dot_##sym, "") \
static const char __kstrtab___dot_##sym[] \
__attribute__((section("__ksymtab_strings"))) \
= "." #sym; \
static const struct kernel_symbol __ksymtab___dot_##sym \
__attribute__((section("__ksymtab"))) \
= { (unsigned long)&__dot_##sym, __kstrtab___dot_##sym }
#endif
DOT_ALIAS2
(
int
,
div
,
int
,
int
)
DOT_ALIAS2
(
int
,
mul
,
int
,
int
)
DOT_ALIAS2
(
int
,
rem
,
int
,
int
)
DOT_ALIAS2
(
unsigned
,
udiv
,
unsigned
,
unsigned
)
DOT_ALIAS2
(
unsigned
,
umul
,
unsigned
,
unsigned
)
DOT_ALIAS2
(
unsigned
,
urem
,
unsigned
,
unsigned
)
#undef DOT_ALIAS2
/* used by various drivers */
EXPORT_SYMBOL
(
sparc_cpu_model
);
...
...
@@ -180,21 +170,20 @@ EXPORT_SYMBOL(io_remap_page_range);
/* EXPORT_SYMBOL(iounit_map_dma_init); */
/* EXPORT_SYMBOL(iounit_map_dma_page); */
/* Btfixup stuff cannot have versions, it would be complicated too much */
#ifndef CONFIG_SMP
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
___xchg32
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
___xchg32
));
#else
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
_
_smp_processor_id
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
__hard
_smp_processor_id
));
#endif
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
enable_irq
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
disable_irq
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
__irq_itoa
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
mmu_unlockarea
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
mmu_lockarea
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
mmu_get_scsi_sgl
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
mmu_get_scsi_one
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
mmu_release_scsi_sgl
));
EXPORT_SYMBOL
_NOVERS
(
BTFIXUP_CALL
(
mmu_release_scsi_one
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
enable_irq
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
disable_irq
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
__irq_itoa
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
mmu_unlockarea
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
mmu_lockarea
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
mmu_get_scsi_sgl
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
mmu_get_scsi_one
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
mmu_release_scsi_sgl
));
EXPORT_SYMBOL
(
BTFIXUP_CALL
(
mmu_release_scsi_one
));
#ifdef CONFIG_SBUS
EXPORT_SYMBOL
(
sbus_root
);
...
...
@@ -271,15 +260,15 @@ EXPORT_SYMBOL(__prom_getsibling);
/* sparc library symbols */
EXPORT_SYMBOL
(
bcopy
);
EXPORT_SYMBOL
(
memchr
);
EXPORT_SYMBOL
_NOVERS
(
memscan
);
EXPORT_SYMBOL
_NOVERS
(
strlen
);
EXPORT_SYMBOL
(
memscan
);
EXPORT_SYMBOL
(
strlen
);
EXPORT_SYMBOL
(
strnlen
);
EXPORT_SYMBOL
(
strcpy
);
EXPORT_SYMBOL
(
strncpy
);
EXPORT_SYMBOL
(
strcat
);
EXPORT_SYMBOL
(
strncat
);
EXPORT_SYMBOL
(
strcmp
);
EXPORT_SYMBOL
_NOVERS
(
strncmp
);
EXPORT_SYMBOL
(
strncmp
);
EXPORT_SYMBOL
(
strchr
);
EXPORT_SYMBOL
(
strrchr
);
EXPORT_SYMBOL
(
strpbrk
);
...
...
@@ -309,28 +298,24 @@ EXPORT_SYMBOL(csum_partial);
/* Cache flushing. */
EXPORT_SYMBOL
(
sparc_flush_page_to_ram
);
/* No version information on this, heavily used in inline asm,
* and will always be 'void __ret_efault(void)'.
*/
EXPORT_SYMBOL_NOVERS
(
__ret_efault
);
/* No version information on these, as gcc produces such symbols. */
EXPORT_SYMBOL_NOVERS
(
memcmp
);
EXPORT_SYMBOL_NOVERS
(
memcpy
);
EXPORT_SYMBOL_NOVERS
(
memset
);
EXPORT_SYMBOL_NOVERS
(
memmove
);
EXPORT_SYMBOL_NOVERS
(
__ashrdi3
);
EXPORT_SYMBOL_NOVERS
(
__ashldi3
);
EXPORT_SYMBOL_NOVERS
(
__lshrdi3
);
EXPORT_SYMBOL_NOVERS
(
__muldi3
);
EXPORT_SYMBOL_NOVERS
(
__divdi3
);
EXPORT_SYMBOL_DOT
(
rem
);
EXPORT_SYMBOL_DOT
(
urem
);
EXPORT_SYMBOL_DOT
(
mul
);
EXPORT_SYMBOL_DOT
(
umul
);
EXPORT_SYMBOL_DOT
(
div
);
EXPORT_SYMBOL_DOT
(
udiv
);
EXPORT_SYMBOL
(
__ret_efault
);
EXPORT_SYMBOL
(
memcmp
);
EXPORT_SYMBOL
(
memcpy
);
EXPORT_SYMBOL
(
memset
);
EXPORT_SYMBOL
(
memmove
);
EXPORT_SYMBOL
(
__ashrdi3
);
EXPORT_SYMBOL
(
__ashldi3
);
EXPORT_SYMBOL
(
__lshrdi3
);
EXPORT_SYMBOL
(
__muldi3
);
EXPORT_SYMBOL
(
__divdi3
);
EXPORT_SYMBOL
(
rem
);
EXPORT_SYMBOL
(
urem
);
EXPORT_SYMBOL
(
mul
);
EXPORT_SYMBOL
(
umul
);
EXPORT_SYMBOL
(
div
);
EXPORT_SYMBOL
(
udiv
);
#ifdef CONFIG_DEBUG_BUGVERBOSE
EXPORT_SYMBOL
(
do_BUG
);
...
...
arch/sparc/kernel/sys_sunos.c
View file @
e7b8d7bd
...
...
@@ -343,7 +343,7 @@ static int sunos_filldir(void * __buf, const char * name, int namlen,
put_user
(
reclen
,
&
dirent
->
d_reclen
);
copy_to_user
(
dirent
->
d_name
,
name
,
namlen
);
put_user
(
0
,
dirent
->
d_name
+
namlen
);
((
char
*
)
dirent
)
+=
reclen
;
dirent
=
(
void
*
)
dirent
+
reclen
;
buf
->
curr
=
dirent
;
buf
->
count
-=
reclen
;
return
0
;
...
...
@@ -422,7 +422,7 @@ static int sunos_filldirentry(void * __buf, const char * name, int namlen,
put_user
(
reclen
,
&
dirent
->
d_reclen
);
copy_to_user
(
dirent
->
d_name
,
name
,
namlen
);
put_user
(
0
,
dirent
->
d_name
+
namlen
);
((
char
*
)
dirent
)
+=
reclen
;
dirent
=
(
void
*
)
dirent
+
reclen
;
buf
->
curr
=
dirent
;
buf
->
count
-=
reclen
;
return
0
;
...
...
arch/sparc/kernel/traps.c
View file @
e7b8d7bd
...
...
@@ -131,23 +131,23 @@ void die_if_kernel(char *str, struct pt_regs *regs)
do_exit
(
SIGSEGV
);
}
void
do_hw_interrupt
(
unsigned
long
type
,
unsigned
long
psr
,
unsigned
long
pc
)
void
do_hw_interrupt
(
struct
pt_regs
*
regs
,
unsigned
long
type
)
{
siginfo_t
info
;
if
(
type
<
0x80
)
{
/* Sun OS's puke from bad traps, Linux survives! */
printk
(
"Unimplemented Sparc TRAP, type = %02lx
\n
"
,
type
);
die_if_kernel
(
"Whee... Hello Mr. Penguin"
,
current
->
thread
.
k
regs
);
die_if_kernel
(
"Whee... Hello Mr. Penguin"
,
regs
);
}
if
(
psr
&
PSR_PS
)
die_if_kernel
(
"Kernel bad trap"
,
current
->
thread
.
k
regs
);
if
(
regs
->
psr
&
PSR_PS
)
die_if_kernel
(
"Kernel bad trap"
,
regs
);
info
.
si_signo
=
SIGILL
;
info
.
si_errno
=
0
;
info
.
si_code
=
ILL_ILLTRP
;
info
.
si_addr
=
(
void
*
)
pc
;
info
.
si_addr
=
(
void
*
)
regs
->
pc
;
info
.
si_trapno
=
type
-
0x80
;
force_sig_info
(
SIGILL
,
&
info
,
current
);
}
...
...
arch/sparc/lib/Makefile
View file @
e7b8d7bd
...
...
@@ -7,5 +7,7 @@ EXTRA_AFLAGS := -ansi -DST_DIV0=0x02
lib-y
:=
mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o memcpy.o memset.o
\
strlen.o checksum.o blockops.o memscan.o memcmp.o strncmp.o
\
strncpy_from_user.o divdi3.o udivdi3.o strlen_user.o
\
copy_user.o locks.o atomic.o atomic32.o bitops.o
debuglocks.o
\
copy_user.o locks.o atomic.o atomic32.o bitops.o
\
lshrdi3.o ashldi3.o rwsem.o muldi3.o bitext.o
lib-$(CONFIG_DEBUG_SPINLOCK)
+=
debuglocks.o
arch/sparc/lib/debuglocks.c
View file @
e7b8d7bd
...
...
@@ -12,8 +12,7 @@
#include <asm/psr.h>
#include <asm/system.h>
/* To enable this code, just define SPIN_LOCK_DEBUG in asm/spinlock.h */
#ifdef SPIN_LOCK_DEBUG
#ifdef CONFIG_SMP
/* Some notes on how these debugging routines work. When a lock is acquired
* an extra debugging member lock->owner_pc is set to the caller of the lock
...
...
@@ -200,4 +199,4 @@ void _do_write_unlock(rwlock_t *rw)
rw
->
lock
=
0
;
}
#endif
/* S
PIN_LOCK_DEBUG
*/
#endif
/* S
MP
*/
arch/sparc/math-emu/math.c
View file @
e7b8d7bd
...
...
@@ -327,6 +327,7 @@ static int do_one_mathemu(u32 insn, unsigned long *pfsr, unsigned long *fregs)
#ifdef DEBUG_MATHEMU
printk
(
"unknown FPop1: %03lx
\n
"
,(
insn
>>
5
)
&
0x1ff
);
#endif
break
;
}
}
else
if
((
insn
&
0xc1f80000
)
==
0x81a80000
)
/* FPOP2 */
{
switch
((
insn
>>
5
)
&
0x1ff
)
{
...
...
@@ -340,6 +341,7 @@ static int do_one_mathemu(u32 insn, unsigned long *pfsr, unsigned long *fregs)
#ifdef DEBUG_MATHEMU
printk
(
"unknown FPop2: %03lx
\n
"
,(
insn
>>
5
)
&
0x1ff
);
#endif
break
;
}
}
...
...
arch/sparc64/kernel/sparc64_ksyms.c
View file @
e7b8d7bd
...
...
@@ -91,6 +91,7 @@ extern int compat_sys_ioctl(unsigned int fd, unsigned int cmd, u32 arg);
extern
int
(
*
handle_mathemu
)(
struct
pt_regs
*
,
struct
fpustate
*
);
extern
long
sparc32_open
(
const
char
*
filename
,
int
flags
,
int
mode
);
extern
int
io_remap_page_range
(
struct
vm_area_struct
*
vma
,
unsigned
long
from
,
unsigned
long
offset
,
unsigned
long
size
,
pgprot_t
prot
,
int
space
);
extern
void
(
*
prom_palette
)(
int
);
extern
int
__ashrdi3
(
int
,
int
);
...
...
@@ -388,3 +389,5 @@ EXPORT_SYMBOL(xor_vis_2);
EXPORT_SYMBOL
(
xor_vis_3
);
EXPORT_SYMBOL
(
xor_vis_4
);
EXPORT_SYMBOL
(
xor_vis_5
);
EXPORT_SYMBOL
(
prom_palette
);
drivers/block/carmel.c
View file @
e7b8d7bd
...
...
@@ -994,7 +994,8 @@ static void carm_handle_array_info(struct carm_host *host,
}
printk
(
KERN_INFO
DRV_NAME
"(%s): port %u device %Lu sectors
\n
"
,
pci_name
(
host
->
pdev
),
port
->
port_no
,
port
->
capacity
);
pci_name
(
host
->
pdev
),
port
->
port_no
,
(
unsigned
long
long
)
port
->
capacity
);
printk
(
KERN_INFO
DRV_NAME
"(%s): port %u device
\"
%s
\"\n
"
,
pci_name
(
host
->
pdev
),
port
->
port_no
,
port
->
name
);
...
...
drivers/fc4/soc.h
View file @
e7b8d7bd
...
...
@@ -114,18 +114,22 @@ static inline u8 xram_get_8 (xram_p x)
static
inline
void
xram_copy_from
(
void
*
p
,
xram_p
x
,
int
len
)
{
for
(
len
>>=
2
;
len
>
0
;
len
--
,
x
+=
sizeof
(
u32
))
{
u32
val
;
u32
val
,
*
p32
=
p
;
val
=
((
sbus_readw
(
x
+
0x00UL
)
<<
16
)
|
(
sbus_readw
(
x
+
0x02UL
)));
*
((
u32
*
)
p
)
++
=
val
;
*
p32
++
=
val
;
p
=
p32
;
}
}
static
inline
void
xram_copy_to
(
xram_p
x
,
void
*
p
,
int
len
)
{
for
(
len
>>=
2
;
len
>
0
;
len
--
,
x
+=
sizeof
(
u32
))
{
u32
tmp
=
*
((
u32
*
)
p
)
++
;
u32
tmp
,
*
p32
=
p
;
tmp
=
*
p32
++
;
p
=
p32
;
sbus_writew
(
tmp
>>
16
,
x
+
0x00UL
);
sbus_writew
(
tmp
,
x
+
0x02UL
);
}
...
...
fs/intermezzo/file.c
View file @
e7b8d7bd
...
...
@@ -82,7 +82,7 @@ static int presto_open_upcall(int minor, struct dentry *de)
info
.
remote_generation
=
dd
->
remote_generation
;
}
else
CERROR
(
"get_fileid failed %d, ino: %Lx, fetching by name
\n
"
,
rc
,
dd
->
remote_ino
);
(
unsigned
long
long
)
dd
->
remote_ino
);
rc
=
izo_upc_open
(
minor
,
pathlen
,
path
,
fset
->
fset_name
,
&
info
);
PRESTO_FREE
(
buffer
,
PAGE_SIZE
);
...
...
@@ -380,7 +380,7 @@ static ssize_t presto_file_write(struct file *file, const char *buf,
<<
file
->
f_dentry
->
d_inode
->
i_sb
->
s_blocksize_bits
);
error
=
presto_reserve_space
(
fset
->
fset_cache
,
res_size
);
CDEBUG
(
D_INODE
,
"Reserved %Ld for %
d
\n
"
,
res_size
,
size
);
CDEBUG
(
D_INODE
,
"Reserved %Ld for %
Zd
\n
"
,
res_size
,
size
);
if
(
error
)
{
EXIT
;
return
-
ENOSPC
;
...
...
@@ -440,7 +440,7 @@ static ssize_t presto_file_write(struct file *file, const char *buf,
fops
=
filter_c2cffops
(
cache
->
cache_filter
);
res
=
fops
->
write
(
file
,
buf
,
size
,
off
);
if
(
res
!=
size
)
{
CDEBUG
(
D_FILE
,
"file write returns short write: size %
d, res %
d
\n
"
,
size
,
res
);
CDEBUG
(
D_FILE
,
"file write returns short write: size %
Zd, res %Z
d
\n
"
,
size
,
res
);
}
if
(
(
res
>
0
)
&&
fdata
)
...
...
fs/intermezzo/fileset.c
View file @
e7b8d7bd
...
...
@@ -647,8 +647,9 @@ int izo_set_fileid(struct file *dir, struct izo_ioctl_data *data)
CDEBUG
(
D_FILE
,
"de:%p dd:%p
\n
"
,
dentry
,
dd
);
if
(
dd
->
remote_ino
!=
0
)
{
CERROR
(
"remote_ino already set? %Lx:%Lx
\n
"
,
dd
->
remote_ino
,
dd
->
remote_generation
);
CERROR
(
"remote_ino already set? %Lx:%Lx
\n
"
,
(
unsigned
long
long
)
dd
->
remote_ino
,
(
unsigned
long
long
)
dd
->
remote_generation
);
rc
=
0
;
EXIT
;
goto
out_close
;
...
...
@@ -656,8 +657,9 @@ int izo_set_fileid(struct file *dir, struct izo_ioctl_data *data)
CDEBUG
(
D_FILE
,
"setting %p %p, %s to %Lx:%Lx
\n
"
,
dentry
,
dd
,
buf
,
data
->
ioc_ino
,
data
->
ioc_generation
);
buf
,
(
unsigned
long
long
)
data
->
ioc_ino
,
(
unsigned
long
long
)
data
->
ioc_generation
);
dd
->
remote_ino
=
data
->
ioc_ino
;
dd
->
remote_generation
=
data
->
ioc_generation
;
...
...
fs/intermezzo/journal.c
View file @
e7b8d7bd
...
...
@@ -1470,7 +1470,7 @@ int presto_clear_lml_close(struct presto_file_set *fset, loff_t lml_offset)
return
0
;
}
CDEBUG
(
D_JOURNAL
,
"reading prefix: off %ld, size %d
\n
"
,
CDEBUG
(
D_JOURNAL
,
"reading prefix: off %ld, size %
Z
d
\n
"
,
(
long
)
lml_offset
,
sizeof
(
record
));
rc
=
presto_fread
(
fset
->
fset_lml
.
fd_file
,
(
char
*
)
&
record
,
sizeof
(
record
),
&
offset
);
...
...
@@ -1621,7 +1621,7 @@ int presto_get_fileid(int minor, struct presto_file_set *fset,
/* journal_log_suffix expects journal_log to set this */
suffix
->
recno
=
0
;
CDEBUG
(
D_FILE
,
"actual kml size: %d
\n
"
,
logrecord
-
record
);
CDEBUG
(
D_FILE
,
"actual kml size: %
Z
d
\n
"
,
logrecord
-
record
);
CDEBUG
(
D_FILE
,
"get fileid: uid %d, gid %d, path: %s
\n
"
,
uid
,
gid
,
path
);
error
=
izo_upc_get_fileid
(
minor
,
size
,
record
,
...
...
fs/intermezzo/kml_reint.c
View file @
e7b8d7bd
...
...
@@ -162,7 +162,8 @@ static int reint_close(struct kml_rec *rec, struct file *file,
*/
if
(
error
==
ENOENT
)
{
CDEBUG
(
D_KML
,
"manually updating remote offset uuid %s"
"recno %d offset %Lu
\n
"
,
info
.
uuid
,
info
.
recno
,
info
.
kml_offset
);
"recno %d offset %Lu
\n
"
,
info
.
uuid
,
info
.
recno
,
(
unsigned
long
long
)
info
.
kml_offset
);
error
=
izo_rcvd_upd_remote
(
fset
,
info
.
uuid
,
info
.
recno
,
info
.
kml_offset
);
if
(
error
)
CERROR
(
"izo_rcvd_upd_remote error %d
\n
"
,
error
);
...
...
@@ -528,7 +529,7 @@ int kml_reint_rec(struct file *dir, struct izo_ioctl_data *data)
if
(
rec
.
suffix
->
recno
!=
lr_rec
.
lr_remote_recno
+
1
)
{
CERROR
(
"KML record number %Lu expected, not %d
\n
"
,
lr_rec
.
lr_remote_recno
+
1
,
(
unsigned
long
long
)
(
lr_rec
.
lr_remote_recno
+
1
)
,
rec
.
suffix
->
recno
);
#if 0
...
...
@@ -631,8 +632,9 @@ int izo_get_fileid(struct file *dir, struct izo_ioctl_data *data)
data
->
ioc_generation
=
file
->
f_dentry
->
d_inode
->
i_generation
;
filp_close
(
file
,
0
);
CDEBUG
(
D_FILE
,
"%s ino %Lx, gen %Lx
\n
"
,
rec
.
path
,
data
->
ioc_ino
,
data
->
ioc_generation
);
CDEBUG
(
D_FILE
,
"%s ino %Lx, gen %Lx
\n
"
,
rec
.
path
,
(
unsigned
long
long
)
data
->
ioc_ino
,
(
unsigned
long
long
)
data
->
ioc_generation
);
out:
if
(
buf
)
...
...
fs/intermezzo/psdev.c
View file @
e7b8d7bd
...
...
@@ -227,7 +227,7 @@ static ssize_t presto_psdev_write(struct file *file, const char *buf,
/* move data into response buffer. */
if
(
req
->
rq_bufsize
<
count
)
{
CERROR
(
"psdev_write: too much cnt: %d, cnt: %d, "
CERROR
(
"psdev_write: too much cnt: %d, cnt: %
Z
d, "
"opc: %d, uniq: %d.
\n
"
,
req
->
rq_bufsize
,
count
,
hdr
.
opcode
,
hdr
.
unique
);
count
=
req
->
rq_bufsize
;
/* don't have more space! */
...
...
@@ -281,7 +281,7 @@ static ssize_t presto_psdev_read(struct file * file, char * buf,
}
if
(
count
<
req
->
rq_bufsize
)
{
CERROR
(
"psdev_read: buffer too small, read %d of %d bytes
\n
"
,
CERROR
(
"psdev_read: buffer too small, read %
Z
d of %d bytes
\n
"
,
count
,
req
->
rq_bufsize
);
}
...
...
@@ -592,8 +592,8 @@ int izo_upc_upcall(int minor, int *size, struct izo_upcall_hdr *buffer,
req
->
rq_opcode
,
jiffies
-
req
->
rq_posttime
,
req
->
rq_unique
,
req
->
rq_rep_size
);
CDEBUG
(
D_UPCALL
,
"..process %d woken up by Lento for req at 0x%
x, data at %x
\n
"
,
current
->
pid
,
(
int
)
req
,
(
int
)
req
->
rq_data
);
"..process %d woken up by Lento for req at 0x%
p, data at %p
\n
"
,
current
->
pid
,
req
,
req
->
rq_data
);
if
(
channel
->
uc_pid
)
{
/* i.e. Lento is still alive */
/* Op went through, interrupt or not we go on */
...
...
fs/intermezzo/upcall.c
View file @
e7b8d7bd
...
...
@@ -142,7 +142,10 @@ int izo_upc_kml(int minor, __u64 offset, __u32 first_recno, __u64 length, __u32
CDEBUG
(
D_UPCALL
,
"KML: fileset %s, offset %Lu, length %Lu, "
"first %u, last %d; minor %d
\n
"
,
fsetname
,
hdr
->
u_offset
,
hdr
->
u_length
,
hdr
->
u_first_recno
,
fsetname
,
(
unsigned
long
long
)
hdr
->
u_offset
,
(
unsigned
long
long
)
hdr
->
u_length
,
hdr
->
u_first_recno
,
hdr
->
u_last_recno
,
minor
);
error
=
izo_upc_upcall
(
minor
,
&
size
,
hdr
,
ASYNCHRONOUS
);
...
...
@@ -174,7 +177,9 @@ int izo_upc_kml_truncate(int minor, __u64 length, __u32 last_recno, char *fsetna
CDEBUG
(
D_UPCALL
,
"KML TRUNCATE: fileset %s, length %Lu, "
"last recno %d, minor %d
\n
"
,
fsetname
,
hdr
->
u_length
,
hdr
->
u_last_recno
,
minor
);
fsetname
,
(
unsigned
long
long
)
hdr
->
u_length
,
hdr
->
u_last_recno
,
minor
);
error
=
izo_upc_upcall
(
minor
,
&
size
,
hdr
,
ASYNCHRONOUS
);
...
...
include/asm-sparc/asmmacro.h
View file @
e7b8d7bd
...
...
@@ -18,17 +18,6 @@
#define GET_PROCESSOR4D_ID(reg) \
lda [%g0] ASI_M_VIKING_TMP1, %reg;
/* Blackbox */
#define GET_PROCESSOR_ID(reg) \
sethi %hi(___b_smp_processor_id), %reg; \
sethi %hi(boot_cpu_id), %reg; \
ldub [%reg + %lo(boot_cpu_id)], %reg;
#define GET_PROCESSOR_MID(reg) \
rd %tbr, %reg; \
srl %reg, 12, %reg; \
and %reg, 3, %reg;
/* All trap entry points _must_ begin with this macro or else you
* lose. It makes sure the kernel has a proper window so that
* c-code can be called.
...
...
include/asm-sparc/smp.h
View file @
e7b8d7bd
...
...
@@ -53,8 +53,8 @@ void smp_info(struct seq_file *);
BTFIXUPDEF_CALL
(
void
,
smp_cross_call
,
smpfunc_t
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
)
BTFIXUPDEF_CALL
(
void
,
smp_message_pass
,
int
,
int
,
unsigned
long
,
int
)
BTFIXUPDEF_CALL
(
int
,
__smp_processor_id
,
void
)
BTFIXUPDEF_BLACKBOX
(
smp_processor_id
)
BTFIXUPDEF_CALL
(
int
,
__
hard_
smp_processor_id
,
void
)
BTFIXUPDEF_BLACKBOX
(
hard_
smp_processor_id
)
BTFIXUPDEF_BLACKBOX
(
load_current
)
#define smp_cross_call(func,arg1,arg2,arg3,arg4,arg5) BTFIXUP_CALL(smp_cross_call)(func,arg1,arg2,arg3,arg4,arg5)
...
...
@@ -129,7 +129,7 @@ extern __inline__ int hard_smp_processor_id(void)
"=&r" (cpuid));
See btfixup.h and btfixupprep.c to understand how a blackbox works.
*/
__asm__
__volatile__
(
"sethi %%hi(___b_smp_processor_id), %0
\n\t
"
__asm__
__volatile__
(
"sethi %%hi(___b_
hard_
smp_processor_id), %0
\n\t
"
"sethi %%hi(boot_cpu_id), %0
\n\t
"
"ldub [%0 + %%lo(boot_cpu_id)], %0
\n\t
"
:
"=&r"
(
cpuid
));
...
...
@@ -141,7 +141,7 @@ extern __inline__ int hard_smp_processor_id(void)
int
cpuid
;
__asm__
__volatile__
(
"mov %%o7, %%g1
\n\t
"
"call ___f___smp_processor_id
\n\t
"
"call ___f___
hard_
smp_processor_id
\n\t
"
" nop
\n\t
"
"mov %%g2, %0
\n\t
"
:
"=r"
(
cpuid
)
:
:
"g1"
,
"g2"
);
return
cpuid
;
...
...
scripts/modpost.c
View file @
e7b8d7bd
...
...
@@ -141,26 +141,14 @@ new_symbol(const char *name, struct module *module, unsigned int *crc)
symbolhash
[
hash
]
=
new
;
}
#define DOTSYM_PFX "__dot_"
struct
symbol
*
find_symbol
(
const
char
*
name
)
{
struct
symbol
*
s
;
char
dotname
[
64
+
sizeof
(
DOTSYM_PFX
)];
/* .foo matches foo. PPC64 needs this. */
if
(
name
[
0
]
==
'.'
)
{
/*
For our purposes,
.foo matches foo. PPC64 needs this. */
if
(
name
[
0
]
==
'.'
)
name
++
;
strcpy
(
dotname
,
DOTSYM_PFX
);
strncat
(
dotname
,
name
,
sizeof
(
dotname
)
-
sizeof
(
DOTSYM_PFX
)
-
1
);
dotname
[
sizeof
(
dotname
)
-
1
]
=
0
;
/* Sparc32 wants .foo to match __dot_foo, try this first. */
for
(
s
=
symbolhash
[
tdb_hash
(
dotname
)
%
SYMBOL_HASH_SIZE
];
s
;
s
=
s
->
next
)
{
if
(
strcmp
(
s
->
name
,
dotname
)
==
0
)
return
s
;
}
}
for
(
s
=
symbolhash
[
tdb_hash
(
name
)
%
SYMBOL_HASH_SIZE
];
s
;
s
=
s
->
next
)
{
if
(
strcmp
(
s
->
name
,
name
)
==
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment