summaryrefslogtreecommitdiffstats
path: root/arch/alpha
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-16 01:07:24 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-16 01:07:24 +0000
commit95db6b748fc86297827fbd9c9ef174d491c9ad89 (patch)
tree27a92a942821cde1edda9a1b088718d436b3efe4 /arch/alpha
parent45b27b0a0652331d104c953a5b192d843fff88f8 (diff)
Merge with Linux 2.3.40.
Diffstat (limited to 'arch/alpha')
-rw-r--r--arch/alpha/config.in13
-rw-r--r--arch/alpha/defconfig81
-rw-r--r--arch/alpha/kernel/core_mcpcia.c2
-rw-r--r--arch/alpha/kernel/entry.S6
-rw-r--r--arch/alpha/kernel/osf_sys.c102
-rw-r--r--arch/alpha/kernel/pci.c16
-rw-r--r--arch/alpha/mm/init.c3
7 files changed, 96 insertions, 127 deletions
diff --git a/arch/alpha/config.in b/arch/alpha/config.in
index 35e9edeb0..ce5c0853e 100644
--- a/arch/alpha/config.in
+++ b/arch/alpha/config.in
@@ -2,6 +2,9 @@
# For a description of the syntax of this configuration file,
# see the Configure script.
#
+
+define_bool CONFIG_UID16 n
+
mainmenu_name "Kernel configuration of Linux for Alpha machines"
mainmenu_option next_comment
@@ -180,6 +183,12 @@ fi
source drivers/pci/Config.in
+bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
+
+if [ "$CONFIG_HOTPLUG" = "y" ] ; then
+ source drivers/pcmcia/Config.in
+fi
+
bool 'Networking support' CONFIG_NET
bool 'System V IPC' CONFIG_SYSVIPC
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
@@ -250,6 +259,10 @@ endmenu
source drivers/char/Config.in
+source drivers/usb/Config.in
+
+source drivers/misc/Config.in
+
source fs/Config.in
if [ "$CONFIG_VT" = "y" ]; then
diff --git a/arch/alpha/defconfig b/arch/alpha/defconfig
index ba6f0070b..9365dc4e2 100644
--- a/arch/alpha/defconfig
+++ b/arch/alpha/defconfig
@@ -28,6 +28,7 @@ CONFIG_ALPHA_GENERIC=y
# CONFIG_ALPHA_EB64P is not set
# CONFIG_ALPHA_EB66 is not set
# CONFIG_ALPHA_EB66P is not set
+# CONFIG_ALPHA_EIGER is not set
# CONFIG_ALPHA_JENSEN is not set
# CONFIG_ALPHA_LX164 is not set
# CONFIG_ALPHA_MIATA is not set
@@ -44,14 +45,15 @@ CONFIG_ALPHA_GENERIC=y
# CONFIG_ALPHA_SABLE is not set
# CONFIG_ALPHA_TAKARA is not set
CONFIG_PCI=y
-CONFIG_PCI_NAMES=y
# CONFIG_SMP is not set
+CONFIG_PCI_NAMES=y
+# CONFIG_HOTPLUG is not set
CONFIG_NET=y
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
-CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
@@ -84,6 +86,7 @@ CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
+# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_PARIDE_PARPORT=y
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_IDE_MODES is not set
@@ -92,7 +95,8 @@ CONFIG_PARIDE_PARPORT=y
#
# Networking options
#
-# CONFIG_PACKET is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
# CONFIG_NETLINK is not set
# CONFIG_NETFILTER is not set
# CONFIG_FILTER is not set
@@ -135,6 +139,7 @@ CONFIG_BLK_DEV_SR=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
+# CONFIG_SCSI_DEBUG_QUEUES is not set
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
@@ -148,6 +153,7 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
@@ -164,6 +170,7 @@ CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
@@ -201,6 +208,7 @@ CONFIG_NET_ETHERNET=y
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_DEPCA is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_EISA=y
# CONFIG_PCNET32 is not set
@@ -211,16 +219,27 @@ CONFIG_DE4X5=y
# CONFIG_DGRS is not set
# CONFIG_EEXPRESS_PRO100 is not set
# CONFIG_NE2K_PCI is not set
+# CONFIG_SIS900 is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_NET_POCKET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_SK98LIN is not set
# CONFIG_FDDI 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
+# Token Ring driver support
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
@@ -228,13 +247,7 @@ CONFIG_DE4X5=y
#
# Wan interfaces
#
-# CONFIG_HOSTESS_SV11 is not set
-# CONFIG_COSA is not set
-# CONFIG_SEALEVEL_4021 is not set
-# CONFIG_DLCI is not set
-# CONFIG_WAN_DRIVERS is not set
-# CONFIG_LAPBETHER is not set
-# CONFIG_X25_ASY is not set
+# CONFIG_WAN is not set
#
# Amateur Radio support
@@ -264,6 +277,11 @@ CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
# Mice
#
# CONFIG_BUSMOUSE is not set
@@ -271,7 +289,16 @@ CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set
+
+#
+# Joysticks
+#
+# CONFIG_JOYSTICK is not set
# CONFIG_QIC02_TAPE is not set
+
+#
+# Watchdog Cards
+#
# CONFIG_WATCHDOG is not set
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
@@ -280,17 +307,25 @@ CONFIG_PSMOUSE=y
# Video For Linux
#
# CONFIG_VIDEO_DEV is not set
-
-#
-# Joystick support
-#
-# CONFIG_JOYSTICK is not set
# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
+# CONFIG_DRM is not set
+# CONFIG_DRM_TDFX is not set
+
+#
+# USB support
+#
+# CONFIG_USB is not set
+
+#
+# Misc devices
+#
#
# Filesystems
@@ -298,11 +333,11 @@ CONFIG_PSMOUSE=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_UMSDOS_FS is not set
# CONFIG_VFAT_FS is not set
+# CONFIG_CRAMFS is not set
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
@@ -313,6 +348,7 @@ CONFIG_DEVPTS_FS=y
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
+# CONFIG_UDF_FS is not set
# CONFIG_UFS_FS is not set
#
@@ -320,6 +356,7 @@ CONFIG_EXT2_FS=y
#
# CONFIG_CODA_FS is not set
CONFIG_NFS_FS=y
+# CONFIG_NFSD is not set
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
# CONFIG_SMB_FS is not set
@@ -329,16 +366,20 @@ CONFIG_LOCKD=y
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
CONFIG_OSF_PARTITION=y
-# CONFIG_SMD_DISKLABEL is not set
-# CONFIG_SGI_DISKLABEL is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
# CONFIG_NLS is not set
#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
+
+#
+# Frame-buffer support
+#
# CONFIG_FB is not set
#
diff --git a/arch/alpha/kernel/core_mcpcia.c b/arch/alpha/kernel/core_mcpcia.c
index 4b165940d..847958212 100644
--- a/arch/alpha/kernel/core_mcpcia.c
+++ b/arch/alpha/kernel/core_mcpcia.c
@@ -560,12 +560,14 @@ mcpcia_machine_check(unsigned long vector, unsigned long la_ptr,
switch (expected) {
case 0:
+ {
/* FIXME: how do we figure out which hose the
error was on? */
struct pci_controler *hose;
for (hose = hose_head; hose; hose = hose->next)
mcpcia_pci_clr_err(hose2mid(hose->index));
break;
+ }
case 1:
mcpcia_pci_clr_err(mcheck_extra(cpu));
break;
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
index 6b37bd23c..af1567fd1 100644
--- a/arch/alpha/kernel/entry.S
+++ b/arch/alpha/kernel/entry.S
@@ -985,9 +985,9 @@ sys_call_table:
.quad osf_utsname
.quad sys_lchown
.quad osf_shmat
- .quad sys_shmctlold /* 210 */
+ .quad sys_shmctl /* 210 */
.quad sys_shmdt
- .quad sys_shmget
+ .quad osf_shmget
.quad alpha_ni_syscall
.quad alpha_ni_syscall
.quad alpha_ni_syscall /* 215 */
@@ -1150,4 +1150,4 @@ sys_call_table:
.quad sys_setresgid
.quad sys_getresgid
.quad sys_ni_syscall /* sys_dipc */
- .quad sys_shmctl
+ .quad sys_shmget
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c
index e81687bdb..95e539d34 100644
--- a/arch/alpha/kernel/osf_sys.c
+++ b/arch/alpha/kernel/osf_sys.c
@@ -439,7 +439,7 @@ static int osf_ufs_mount(char *dirname, struct ufs_args *args, int flags)
dentry = getdev(tmp.devname, 0);
retval = PTR_ERR(dentry);
- if (IS_ERR(dentry)
+ if (IS_ERR(dentry))
goto out;
retval = do_mount(dentry->d_inode->i_bdev, tmp.devname, dirname,
"ext2", flags, NULL);
@@ -471,7 +471,6 @@ out:
static int osf_procfs_mount(char *dirname, struct procfs_args *args, int flags)
{
- int retval;
struct procfs_args tmp;
if (copy_from_user(&tmp, args, sizeof(tmp)))
@@ -1401,102 +1400,7 @@ asmlinkage int sys_old_adjtimex(struct timex32 *txc_p)
return ret;
}
-struct shmid_ds_old {
- struct ipc_perm shm_perm; /* operation perms */
- int shm_segsz; /* size of segment (bytes) */
- __kernel_time_t shm_atime; /* last attach time */
- __kernel_time_t shm_dtime; /* last detach time */
- __kernel_time_t shm_ctime; /* last change time */
- __kernel_ipc_pid_t shm_cpid; /* pid of creator */
- __kernel_ipc_pid_t shm_lpid; /* pid of last operator */
- unsigned short shm_nattch; /* no. of current attaches */
- unsigned short shm_unused; /* compatibility */
- void *shm_unused2; /* ditto - used by DIPC */
- void *shm_unused3; /* unused */
-};
-
-struct shminfo_old {
- int shmmax;
- int shmmin;
- int shmmni;
- int shmseg;
- int shmall;
-};
-
-asmlinkage long sys_shmctlold(int shmid, int cmd, struct shmid_ds_old *buf)
+asmlinkage long osf_shmget (key_t key, int size, int flag)
{
- struct shmid_ds arg;
- long ret;
- mm_segment_t old_fs;
-
- if (cmd == IPC_SET) {
- struct shmid_ds_old tbuf;
-
- if(copy_from_user (&tbuf, buf, sizeof(*buf)))
- return -EFAULT;
- arg.shm_perm = tbuf.shm_perm;
- arg.shm_segsz = tbuf.shm_segsz;
- arg.shm_atime = tbuf.shm_atime;
- arg.shm_dtime = tbuf.shm_dtime;
- arg.shm_ctime = tbuf.shm_ctime;
- arg.shm_cpid = tbuf.shm_cpid;
- arg.shm_lpid = tbuf.shm_lpid;
- arg.shm_nattch = tbuf.shm_nattch;
- arg.shm_unused = tbuf.shm_unused;
- arg.shm_unused2 = tbuf.shm_unused2;
- arg.shm_unused3 = tbuf.shm_unused3;
- }
- old_fs = get_fs ();
- set_fs (KERNEL_DS);
- ret = sys_shmctl(shmid, cmd, &arg);
- set_fs (old_fs);
- if (ret < 0)
- return(ret);
- switch(cmd) {
- case IPC_INFO:
- {
- struct shminfo *tbuf = (struct shminfo *) &arg;
- struct shminfo_old shminfo_oldst;
-
- shminfo_oldst.shmmax = (tbuf->shmmax > INT_MAX ?
- INT_MAX : tbuf->shmmax);
- shminfo_oldst.shmmin = tbuf->shmmin;
- shminfo_oldst.shmmni = tbuf->shmmni;
- shminfo_oldst.shmseg = tbuf->shmseg;
- shminfo_oldst.shmall = tbuf->shmall;
- if (copy_to_user(buf, &shminfo_oldst,
- sizeof(struct shminfo_old)))
- return -EFAULT;
- return(ret);
- }
- case SHM_INFO:
- {
- struct shm_info *tbuf = (struct shm_info *) &arg;
-
- if (copy_to_user (buf, tbuf, sizeof(struct shm_info)))
- return -EFAULT;
- return(ret);
- }
- case SHM_STAT:
- case IPC_STAT:
- {
- struct shmid_ds_old tbuf;
-
- tbuf.shm_perm = arg.shm_perm;
- tbuf.shm_segsz = arg.shm_segsz;
- tbuf.shm_atime = arg.shm_atime;
- tbuf.shm_dtime = arg.shm_dtime;
- tbuf.shm_ctime = arg.shm_ctime;
- tbuf.shm_cpid = arg.shm_cpid;
- tbuf.shm_lpid = arg.shm_lpid;
- tbuf.shm_nattch = arg.shm_nattch;
- tbuf.shm_unused = arg.shm_unused;
- tbuf.shm_unused2 = arg.shm_unused2;
- tbuf.shm_unused3 = arg.shm_unused3;
- if (copy_to_user (buf, &tbuf, sizeof(tbuf)))
- return -EFAULT;
- return(ret);
- }
- }
- return(ret);
+ return sys_shmget (key, size, flag);
}
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 601cb9401..aa0a8d968 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -251,11 +251,13 @@ pcibios_fixup_bus(struct pci_bus *bus)
/* Propogate hose info into the subordinate devices. */
struct pci_controler *hose = (struct pci_controler *) bus->sysdata;
- struct pci_dev *dev;
+ struct list_head *ln;
bus->resource[0] = hose->io_space;
bus->resource[1] = hose->mem_space;
- for (dev = bus->devices; dev; dev = dev->sibling) {
+
+ for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) {
+ struct pci_dev *dev = pci_dev_b(ln);
if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI)
pcibios_fixup_device_resources(dev, bus);
}
@@ -322,6 +324,13 @@ pcibios_fixup_pbus_ranges(struct pci_bus * bus,
ranges->mem_end -= bus->resource[1]->start;
}
+int __init
+pcibios_enable_device(struct pci_dev *dev)
+{
+ /* Not needed, since we enable all devices at startup. */
+ return 0;
+}
+
void __init
common_init_pci(void)
{
@@ -339,8 +348,7 @@ common_init_pci(void)
next_busno += 1;
}
- pci_assign_unassigned_resources(alpha_mv.min_io_address,
- alpha_mv.min_mem_address);
+ pci_assign_unassigned_resources();
pci_fixup_irqs(alpha_mv.pci_swizzle, alpha_mv.pci_map_irq);
pci_set_bus_ranges();
}
diff --git a/arch/alpha/mm/init.c b/arch/alpha/mm/init.c
index daaa36e09..97bb6df9d 100644
--- a/arch/alpha/mm/init.c
+++ b/arch/alpha/mm/init.c
@@ -274,7 +274,8 @@ srm_paging_stop (void)
}
#endif
-static void __init printk_memory_info(void)
+static void __init
+printk_memory_info(void)
{
unsigned long codesize, reservedpages, datasize, initsize, tmp;
extern int page_is_ram(unsigned long) __init;