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
Kirill Smelkov
linux
Commits
e6e4981b
Commit
e6e4981b
authored
Jul 11, 2004
by
Keith M. Wesolowski
Browse files
Options
Browse Files
Download
Plain Diff
Merge foobazco.org:/sources/2.5-bk
into foobazco.org:/sources/2.5-sparc-todave
parents
1c400de9
99470cd2
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
110 additions
and
92 deletions
+110
-92
arch/sparc/defconfig
arch/sparc/defconfig
+34
-40
arch/sparc/kernel/ioport.c
arch/sparc/kernel/ioport.c
+1
-1
arch/sparc/kernel/setup.c
arch/sparc/kernel/setup.c
+0
-1
arch/sparc/mm/io-unit.c
arch/sparc/mm/io-unit.c
+1
-0
arch/sparc/mm/iommu.c
arch/sparc/mm/iommu.c
+1
-0
arch/sparc/mm/nosrmmu.c
arch/sparc/mm/nosrmmu.c
+2
-5
drivers/sbus/sbus.c
drivers/sbus/sbus.c
+4
-0
include/asm-sparc/bug.h
include/asm-sparc/bug.h
+1
-1
include/asm-sparc/dma.h
include/asm-sparc/dma.h
+43
-0
include/asm-sparc/pci.h
include/asm-sparc/pci.h
+6
-0
include/asm-sparc/pgtable.h
include/asm-sparc/pgtable.h
+0
-43
include/asm-sparc/pgtsun4.h
include/asm-sparc/pgtsun4.h
+16
-0
include/asm-sparc/sun4prom.h
include/asm-sparc/sun4prom.h
+1
-1
No files found.
arch/sparc/defconfig
View file @
e6e4981b
...
...
@@ -19,18 +19,22 @@ CONFIG_BROKEN_ON_SMP=y
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_HOTPLUG is not set
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
#
...
...
@@ -171,7 +175,6 @@ CONFIG_CHR_DEV_SG=m
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_REPORT_LUNS=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
...
...
@@ -190,11 +193,11 @@ CONFIG_SCSI_SPI_ATTRS=m
# 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_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
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_PIO is not set
...
...
@@ -203,6 +206,7 @@ CONFIG_SCSI_SPI_ATTRS=m
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
...
...
@@ -263,8 +267,6 @@ 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
...
...
@@ -279,7 +281,9 @@ CONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
...
...
@@ -300,18 +304,23 @@ CONFIG_SCTP_HMAC_MD5=y
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
CONFIG_TUN=m
# CONFIG_ETHERTAP is not set
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
#
# Ethernet (10 or 100Mbit)
#
...
...
@@ -342,7 +351,6 @@ CONFIG_SUNQE=m
# 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
...
...
@@ -350,46 +358,29 @@ CONFIG_SUNQE=m
# 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
# CONFIG_S2IO 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
# Wireless LAN (non-hamradio)
#
# CONFIG_
IRDA
is not set
# CONFIG_
NET_RADIO
is not set
#
#
Bluetooth support
#
Wan interfaces
#
# CONFIG_BT is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
#
# Unix98 PTY support
...
...
@@ -486,6 +477,7 @@ CONFIG_ISO9660_FS=m
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_SYSFS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS_XATTR=y
# CONFIG_DEVPTS_FS_SECURITY is not set
...
...
@@ -527,9 +519,9 @@ CONFIG_SUNRPC_GSS=m
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SMB_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# 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
...
...
@@ -641,11 +633,13 @@ CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_TEST is not set
#
# Library routines
#
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
arch/sparc/kernel/ioport.c
View file @
e6e4981b
...
...
@@ -41,7 +41,7 @@
#include <asm/oplib.h>
#include <asm/page.h>
#include <asm/pgalloc.h>
#include <asm/
pgtable
.h>
#include <asm/
dma
.h>
#define mmu_inval_dma_area(p, l)
/* Anton pulled it out for 2.4.0-xx */
...
...
arch/sparc/kernel/setup.c
View file @
e6e4981b
...
...
@@ -234,7 +234,6 @@ extern void sun4c_probe_vac(void);
extern
char
cputypval
;
extern
unsigned
long
start
,
end
;
extern
void
panic_setup
(
char
*
,
int
*
);
extern
void
srmmu_end_memory
(
unsigned
long
,
unsigned
long
*
);
extern
unsigned
short
root_flags
;
extern
unsigned
short
root_dev
;
...
...
arch/sparc/mm/io-unit.c
View file @
e6e4981b
...
...
@@ -22,6 +22,7 @@
#include <asm/bitops.h>
#include <asm/cacheflush.h>
#include <asm/tlbflush.h>
#include <asm/dma.h>
/* #define IOUNIT_DEBUG */
#ifdef IOUNIT_DEBUG
...
...
arch/sparc/mm/iommu.c
View file @
e6e4981b
...
...
@@ -25,6 +25,7 @@
#include <asm/tlbflush.h>
#include <asm/bitext.h>
#include <asm/iommu.h>
#include <asm/dma.h>
/*
* This can be sized dynamically, but we will do this
...
...
arch/sparc/mm/nosrmmu.c
View file @
e6e4981b
...
...
@@ -9,10 +9,12 @@
#include <linux/mm.h>
#include <linux/init.h>
#include <asm/mbus.h>
#include <asm/sbus.h>
static
char
shouldnothappen
[]
__initdata
=
"SUN4 kernel can only run on SUN4
\n
"
;
enum
mbus_module
srmmu_modtype
;
void
*
srmmu_nocache_pool
;
int
vac_cache_size
=
0
;
...
...
@@ -46,11 +48,6 @@ void srmmu_unmapioaddr(unsigned long virt_addr)
{
}
void
__init
srmmu_end_memory
(
unsigned
long
memory_size
,
unsigned
long
*
mem_end_p
)
{
return
0
;
}
__u32
iounit_map_dma_init
(
struct
sbus_bus
*
sbus
,
int
size
)
{
return
0
;
...
...
drivers/sbus/sbus.c
View file @
e6e4981b
...
...
@@ -309,6 +309,10 @@ static void __init sbus_fixup_all_regs(struct sbus_dev *first_sdev)
extern
void
register_proc_sparc_ioport
(
void
);
extern
void
firetruck_init
(
void
);
#ifdef CONFIG_SUN4
extern
void
sun4_dvma_init
(
void
);
#endif
static
int
__init
sbus_init
(
void
)
{
int
nd
,
this_sbus
,
sbus_devs
,
topnd
,
iommund
;
...
...
include/asm-sparc/bug.h
View file @
e6e4981b
...
...
@@ -8,7 +8,7 @@
*/
#if (__GNUC__ > 3) || \
(__GNUC__ == 3 && __GNUC_MINOR__ > 3) || \
(__GNUC__ == 3 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ >=
1
)
(__GNUC__ == 3 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ >=
4
)
#define __bug_trap() __builtin_trap()
#else
#define __bug_trap() \
...
...
include/asm-sparc/dma.h
View file @
e6e4981b
...
...
@@ -19,6 +19,7 @@
#include <asm/io.h>
#include <linux/spinlock.h>
struct
page
;
extern
spinlock_t
dma_spin_lock
;
static
__inline__
unsigned
long
claim_dma_lock
(
void
)
...
...
@@ -244,4 +245,46 @@ extern int isa_dma_bridge_buggy;
#define isa_dma_bridge_buggy (0)
#endif
/* Routines for data transfer buffers. */
BTFIXUPDEF_CALL
(
char
*
,
mmu_lockarea
,
char
*
,
unsigned
long
)
BTFIXUPDEF_CALL
(
void
,
mmu_unlockarea
,
char
*
,
unsigned
long
)
#define mmu_lockarea(vaddr,len) BTFIXUP_CALL(mmu_lockarea)(vaddr,len)
#define mmu_unlockarea(vaddr,len) BTFIXUP_CALL(mmu_unlockarea)(vaddr,len)
/* These are implementations for sbus_map_sg/sbus_unmap_sg... collapse later */
BTFIXUPDEF_CALL
(
__u32
,
mmu_get_scsi_one
,
char
*
,
unsigned
long
,
struct
sbus_bus
*
sbus
)
BTFIXUPDEF_CALL
(
void
,
mmu_get_scsi_sgl
,
struct
scatterlist
*
,
int
,
struct
sbus_bus
*
sbus
)
BTFIXUPDEF_CALL
(
void
,
mmu_release_scsi_one
,
__u32
,
unsigned
long
,
struct
sbus_bus
*
sbus
)
BTFIXUPDEF_CALL
(
void
,
mmu_release_scsi_sgl
,
struct
scatterlist
*
,
int
,
struct
sbus_bus
*
sbus
)
#define mmu_get_scsi_one(vaddr,len,sbus) BTFIXUP_CALL(mmu_get_scsi_one)(vaddr,len,sbus)
#define mmu_get_scsi_sgl(sg,sz,sbus) BTFIXUP_CALL(mmu_get_scsi_sgl)(sg,sz,sbus)
#define mmu_release_scsi_one(vaddr,len,sbus) BTFIXUP_CALL(mmu_release_scsi_one)(vaddr,len,sbus)
#define mmu_release_scsi_sgl(sg,sz,sbus) BTFIXUP_CALL(mmu_release_scsi_sgl)(sg,sz,sbus)
/*
* mmu_map/unmap are provided by iommu/iounit; Invalid to call on IIep.
*
* The mmu_map_dma_area establishes two mappings in one go.
* These mappings point to pages normally mapped at 'va' (linear address).
* First mapping is for CPU visible address at 'a', uncached.
* This is an alias, but it works because it is an uncached mapping.
* Second mapping is for device visible address, or "bus" address.
* The bus address is returned at '*pba'.
*
* These functions seem distinct, but are hard to split. On sun4c,
* at least for now, 'a' is equal to bus address, and retured in *pba.
* On sun4m, page attributes depend on the CPU type, so we have to
* know if we are mapping RAM or I/O, so it has to be an additional argument
* to a separate mapping function for CPU visible mappings.
*/
BTFIXUPDEF_CALL
(
int
,
mmu_map_dma_area
,
dma_addr_t
*
,
unsigned
long
,
unsigned
long
,
int
len
)
BTFIXUPDEF_CALL
(
struct
page
*
,
mmu_translate_dvma
,
unsigned
long
busa
)
BTFIXUPDEF_CALL
(
void
,
mmu_unmap_dma_area
,
unsigned
long
busa
,
int
len
)
#define mmu_map_dma_area(pba,va,a,len) BTFIXUP_CALL(mmu_map_dma_area)(pba,va,a,len)
#define mmu_unmap_dma_area(ba,len) BTFIXUP_CALL(mmu_unmap_dma_area)(ba,len)
#define mmu_translate_dvma(ba) BTFIXUP_CALL(mmu_translate_dvma)(ba)
#endif
/* !(_ASM_SPARC_DMA_H) */
include/asm-sparc/pci.h
View file @
e6e4981b
...
...
@@ -87,6 +87,12 @@ extern dma_addr_t pci_map_page(struct pci_dev *hwdev, struct page *page,
extern
void
pci_unmap_page
(
struct
pci_dev
*
hwdev
,
dma_addr_t
dma_address
,
size_t
size
,
int
direction
);
/* map_page and map_single cannot fail */
static
inline
int
pci_dma_mapping_error
(
dma_addr_t
dma_addr
)
{
return
0
;
}
/* Map a set of buffers described by scatterlist in streaming
* mode for DMA. This is the scather-gather version of the
* above pci_map_single interface. Here the scatter gather list
...
...
include/asm-sparc/pgtable.h
View file @
e6e4981b
...
...
@@ -21,7 +21,6 @@
#include <asm/pgtsrmmu.h>
#include <asm/vac-ops.h>
#include <asm/oplib.h>
#include <asm/sbus.h>
#include <asm/btfixup.h>
#include <asm/system.h>
...
...
@@ -33,48 +32,6 @@ struct page;
extern
void
load_mmu
(
void
);
extern
unsigned
long
calc_highpages
(
void
);
/* Routines for data transfer buffers. */
BTFIXUPDEF_CALL
(
char
*
,
mmu_lockarea
,
char
*
,
unsigned
long
)
BTFIXUPDEF_CALL
(
void
,
mmu_unlockarea
,
char
*
,
unsigned
long
)
#define mmu_lockarea(vaddr,len) BTFIXUP_CALL(mmu_lockarea)(vaddr,len)
#define mmu_unlockarea(vaddr,len) BTFIXUP_CALL(mmu_unlockarea)(vaddr,len)
/* These are implementations for sbus_map_sg/sbus_unmap_sg... collapse later */
BTFIXUPDEF_CALL
(
__u32
,
mmu_get_scsi_one
,
char
*
,
unsigned
long
,
struct
sbus_bus
*
sbus
)
BTFIXUPDEF_CALL
(
void
,
mmu_get_scsi_sgl
,
struct
scatterlist
*
,
int
,
struct
sbus_bus
*
sbus
)
BTFIXUPDEF_CALL
(
void
,
mmu_release_scsi_one
,
__u32
,
unsigned
long
,
struct
sbus_bus
*
sbus
)
BTFIXUPDEF_CALL
(
void
,
mmu_release_scsi_sgl
,
struct
scatterlist
*
,
int
,
struct
sbus_bus
*
sbus
)
#define mmu_get_scsi_one(vaddr,len,sbus) BTFIXUP_CALL(mmu_get_scsi_one)(vaddr,len,sbus)
#define mmu_get_scsi_sgl(sg,sz,sbus) BTFIXUP_CALL(mmu_get_scsi_sgl)(sg,sz,sbus)
#define mmu_release_scsi_one(vaddr,len,sbus) BTFIXUP_CALL(mmu_release_scsi_one)(vaddr,len,sbus)
#define mmu_release_scsi_sgl(sg,sz,sbus) BTFIXUP_CALL(mmu_release_scsi_sgl)(sg,sz,sbus)
/*
* mmu_map/unmap are provided by iommu/iounit; Invalid to call on IIep.
*
* The mmu_map_dma_area establishes two mappings in one go.
* These mappings point to pages normally mapped at 'va' (linear address).
* First mapping is for CPU visible address at 'a', uncached.
* This is an alias, but it works because it is an uncached mapping.
* Second mapping is for device visible address, or "bus" address.
* The bus address is returned at '*pba'.
*
* These functions seem distinct, but are hard to split. On sun4c,
* at least for now, 'a' is equal to bus address, and retured in *pba.
* On sun4m, page attributes depend on the CPU type, so we have to
* know if we are mapping RAM or I/O, so it has to be an additional argument
* to a separate mapping function for CPU visible mappings.
*/
BTFIXUPDEF_CALL
(
int
,
mmu_map_dma_area
,
dma_addr_t
*
,
unsigned
long
,
unsigned
long
,
int
len
)
BTFIXUPDEF_CALL
(
struct
page
*
,
mmu_translate_dvma
,
unsigned
long
busa
)
BTFIXUPDEF_CALL
(
void
,
mmu_unmap_dma_area
,
unsigned
long
busa
,
int
len
)
#define mmu_map_dma_area(pba,va,a,len) BTFIXUP_CALL(mmu_map_dma_area)(pba,va,a,len)
#define mmu_unmap_dma_area(ba,len) BTFIXUP_CALL(mmu_unmap_dma_area)(ba,len)
#define mmu_translate_dvma(ba) BTFIXUP_CALL(mmu_translate_dvma)(ba)
BTFIXUPDEF_SIMM13
(
pgdir_shift
)
BTFIXUPDEF_SETHI
(
pgdir_size
)
BTFIXUPDEF_SETHI
(
pgdir_mask
)
...
...
include/asm-sparc/pgtsun4.h
View file @
e6e4981b
...
...
@@ -51,6 +51,7 @@
#define _SUN4C_PAGE_NOCACHE 0x10000000
/* non-cacheable page */
#define _SUN4C_PAGE_PRESENT 0x08000000
/* implemented in software */
#define _SUN4C_PAGE_IO 0x04000000
/* I/O page */
#define _SUN4C_PAGE_FILE 0x02000000
/* implemented in software */
#define _SUN4C_PAGE_READ 0x00800000
/* implemented in software */
#define _SUN4C_PAGE_WRITE 0x00400000
/* implemented in software */
#define _SUN4C_PAGE_ACCESSED 0x00200000
/* implemented in software */
...
...
@@ -71,6 +72,21 @@
#define SUN4C_PAGE_KERNEL __pgprot(_SUN4C_READABLE|_SUN4C_WRITEABLE|\
_SUN4C_PAGE_DIRTY|_SUN4C_PAGE_PRIV)
/* SUN4C swap entry encoding
*
* We use 5 bits for the type and 19 for the offset. This gives us
* 32 swapfiles of 4GB each. Encoding looks like:
*
* RRRRRRRRooooooooooooooooooottttt
* fedcba9876543210fedcba9876543210
*
* The top 8 bits are reserved for protection and status bits, especially
* FILE and PRESENT.
*/
#define SUN4C_SWP_TYPE_MASK 0x1f
#define SUN4C_SWP_OFF_MASK 0x7ffff
#define SUN4C_SWP_OFF_SHIFT 5
#ifndef __ASSEMBLY__
static
inline
unsigned
long
sun4c_get_synchronous_error
(
void
)
...
...
include/asm-sparc/sun4prom.h
View file @
e6e4981b
...
...
@@ -25,7 +25,7 @@ typedef struct {
unsigned
char
(
*
getchar
)(
void
);
/* Get char from input device */
void
(
*
putchar
)(
char
);
/* Put char to output device */
int
(
*
mayget
)(
void
);
/* Maybe get char, or -1 */
int
(
*
mayput
)(
void
);
/* Maybe put char, or -1 */
int
(
*
mayput
)(
int
);
/* Maybe put char, or -1 */
unsigned
char
*
echo
;
/* Should getchar echo? */
unsigned
char
*
insource
;
/* Input source selector */
unsigned
char
*
outsink
;
/* Output sink selector */
...
...
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