diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-16 01:07:24 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-16 01:07:24 +0000 |
commit | 95db6b748fc86297827fbd9c9ef174d491c9ad89 (patch) | |
tree | 27a92a942821cde1edda9a1b088718d436b3efe4 /arch/alpha | |
parent | 45b27b0a0652331d104c953a5b192d843fff88f8 (diff) |
Merge with Linux 2.3.40.
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/config.in | 13 | ||||
-rw-r--r-- | arch/alpha/defconfig | 81 | ||||
-rw-r--r-- | arch/alpha/kernel/core_mcpcia.c | 2 | ||||
-rw-r--r-- | arch/alpha/kernel/entry.S | 6 | ||||
-rw-r--r-- | arch/alpha/kernel/osf_sys.c | 102 | ||||
-rw-r--r-- | arch/alpha/kernel/pci.c | 16 | ||||
-rw-r--r-- | arch/alpha/mm/init.c | 3 |
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; |