Commit 079e34c1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Import 1.1.67

parent cc6d9ed8
VERSION = 1 VERSION = 1
PATCHLEVEL = 1 PATCHLEVEL = 1
SUBLEVEL = 66 SUBLEVEL = 67
ARCH = i386 ARCH = i386
......
#
# alpha/Makefile
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 1994 by Linus Torvalds
#
AS =as
LD =ld
HOSTCC =gcc -I$(TOPDIR)/include
CC =gcc -D__KERNEL__ -I$(TOPDIR)/include
MAKE =make
CPP =$(CC) -E
AR =ar
STRIP =strip
zBoot/zSystem: zBoot/*.c zBoot/*.S tools/zSystem
$(MAKE) -C zBoot
zImage: $(CONFIGURE) boot/bootsect boot/setup zBoot/zSystem tools/build
tools/build boot/bootsect boot/setup zBoot/zSystem $(ROOT_DEV) > zImage
sync
zdisk: zImage
dd bs=8192 if=zImage of=/dev/fd0
zlilo: $(CONFIGURE) zImage
if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi
if [ -f $(INSTALL_PATH)/zSystem.map ]; then mv $(INSTALL_PATH)/zSystem.map $(INSTALL_PATH)/zSystem.old; fi
cat zImage > $(INSTALL_PATH)/vmlinuz
cp zSystem.map $(INSTALL_PATH)/
if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
tools/system: boot/head.o init/main.o tools/version.o linuxsubdirs
$(LD) $(LOWLDFLAGS) boot/head.o init/main.o tools/version.o \
$(ARCHIVES) \
$(FILESYSTEMS) \
$(DRIVERS) \
$(LIBS) \
-o tools/system
nm tools/zSystem | grep -v '\(compiled\)\|\(\.o$$\)\|\( a \)' | \
sort > System.map
boot/setup.o: boot/setup.s
$(AS) -o $@ $<
boot/setup.s: boot/setup.S $(CONFIGURE) include/linux/config.h Makefile
$(CPP) -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@
boot/bootsect.s: boot/bootsect.S $(CONFIGURE) include/linux/config.h Makefile
$(CPP) -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@
tools/zSystem: boot/head.o init/main.o tools/version.o linuxsubdirs
$(LD) $(HIGHLDFLAGS) boot/head.o init/main.o tools/version.o \
$(ARCHIVES) \
$(FILESYSTEMS) \
$(DRIVERS) \
$(LIBS) \
-o tools/zSystem
nm tools/zSystem | grep -v '\(compiled\)\|\(\.o$$\)\|\( a \)' | \
sort > zSystem.map
#
# Leave these dummy entries for now to tell people that they are going away..
#
lilo:
@echo
@echo Uncompressed kernel images no longer supported. Use
@echo \"make zlilo\" instead.
@echo
@exit 1
archclean:
rm -f boot/bootsect boot/setup
/*
* alpha/head.S
*
* initial boot stuff..
*/
#include <asm/system.h>
#define halt .long PAL_halt
/*
* NOTE! The console bootstrap will load us at 0x20000000, but this image
* is linked to run at START_ADDR, so the first thing we do is to move
* ourself up to the right address.. We'd better be position-independent
* at that stage :-)
*/
.set noreorder
.globl __start
.ent __start
__start:
bis $31,$31,$31
br $1,$200
.long START_ADDR, START_ADDR >> 32 /* strange bug in the assembler.. duh */
.long START_SIZE, START_SIZE >> 32
$200: ldq $30,0($1) /* new stack - below this */
lda $2,-8($1) /* __start */
bis $30,$30,$3 /* new address */
subq $3,$2,$6 /* difference */
ldq $4,8($1) /* size */
$201: subq $4,8,$4
ldq $5,0($2)
addq $2,8,$2
stq $5,0($3)
addq $3,8,$3
bne $4,$201
br $1,$202
$202: addq $1,$6,$1
addq $1,12,$1 /* $203 in the new address space */
jmp $31,($1),$203
$203: br $27,$100
$100: ldgp $29,0($27)
lda $27,start_kernel
jsr $26,($27),start_kernel
halt
.end __start
.align 5
.globl wrent
.ent wrent
wrent:
.long PAL_wrent
ret ($26)
.end wrent
.align 5
.globl wrkgp
.ent wrkgp
wrkgp:
.long PAL_wrkgp
ret ($26)
.end wrkgp
.align 5
.globl switch_to_osf_pal
.ent switch_to_osf_pal
switch_to_osf_pal:
subq $30,128,$30
stq $26,0($30)
stq $1,8($30)
stq $2,16($30)
stq $3,24($30)
stq $4,32($30)
stq $5,40($30)
stq $6,48($30)
stq $7,56($30)
stq $8,64($30)
stq $9,72($30)
stq $10,80($30)
stq $11,88($30)
stq $12,96($30)
stq $13,104($30)
stq $14,112($30)
stq $15,120($30)
stq $30,0($17) /* save KSP in PCB */
bis $30,$30,$20 /* a4 = KSP */
br $17,__do_swppal
ldq $26,0($30)
ldq $1,8($30)
ldq $2,16($30)
ldq $3,24($30)
ldq $4,32($30)
ldq $5,40($30)
ldq $6,48($30)
ldq $7,56($30)
ldq $8,64($30)
ldq $9,72($30)
ldq $10,80($30)
ldq $11,88($30)
ldq $12,96($30)
ldq $13,104($30)
ldq $14,112($30)
ldq $15,120($30)
addq $30,128,$30
ret ($26)
__do_swppal:
.long PAL_swppal
.end switch_to_osf_pal
#
# For a description of the syntax of this configuration file,
# see the Configure script.
#
comment 'General setup'
bool 'Normal harddisk support' CONFIG_BLK_DEV_HD n
bool 'XT harddisk support' CONFIG_BLK_DEV_XD n
bool 'Networking support' CONFIG_NET y
bool 'System V IPC' CONFIG_SYSVIPC y
bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF y
if [ "$CONFIG_NET" = "y" ]; then
comment 'Networking options'
bool 'TCP/IP networking' CONFIG_INET y
if [ "$CONFIG_INET" "=" "y" ]; then
bool 'IP forwarding/gatewaying' CONFIG_IP_FORWARD n
comment '(it is safe to leave these untouched)'
bool 'PC/TCP compatibility mode' CONFIG_INET_PCTCP n
bool 'Reverse ARP' CONFIG_INET_RARP n
bool 'Assume subnets are local' CONFIG_INET_SNARL y
bool 'Disable NAGLE algorithm (normally enabled)' CONFIG_TCP_NAGLE_OFF n
fi
bool 'The IPX protocol' CONFIG_IPX n
#bool 'Amateur Radio AX.25 Level 2' CONFIG_AX25 n
fi
comment 'SCSI support'
bool 'SCSI support?' CONFIG_SCSI y
if [ "$CONFIG_SCSI" = "n" ]; then
comment 'Skipping SCSI configuration options...'
else
comment 'SCSI support type (disk, tape, CDrom)'
bool 'Scsi disk support' CONFIG_BLK_DEV_SD y
bool 'Scsi tape support' CONFIG_CHR_DEV_ST n
bool 'Scsi CDROM support' CONFIG_BLK_DEV_SR n
bool 'Scsi generic support' CONFIG_CHR_DEV_SG n
comment 'SCSI low-level drivers'
bool 'Adaptec AHA152X support' CONFIG_SCSI_AHA152X n
bool 'Adaptec AHA1542 support' CONFIG_SCSI_AHA1542 n
bool 'Adaptec AHA1740 support' CONFIG_SCSI_AHA1740 y
bool 'Adaptec AHA274X/284X support' CONFIG_SCSI_AHA274X n
bool 'BusLogic SCSI support' CONFIG_SCSI_BUSLOGIC n
bool 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F n
bool 'Future Domain 16xx SCSI support' CONFIG_SCSI_FUTURE_DOMAIN n
bool 'Generic NCR5380 SCSI support' CONFIG_SCSI_GENERIC_NCR5380 n
bool 'NCR53c7,8xx SCSI support' CONFIG_SCSI_NCR53C7xx n
bool 'Always IN2000 SCSI support' CONFIG_SCSI_IN2000 n
bool 'PAS16 SCSI support' CONFIG_SCSI_PAS16 n
bool 'QLOGIC SCSI support' CONFIG_SCSI_QLOGIC n
bool 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE n
bool 'Trantor T128/T128F/T228 SCSI support' CONFIG_SCSI_T128 n
bool 'UltraStor SCSI support' CONFIG_SCSI_ULTRASTOR n
bool '7000FASST SCSI support' CONFIG_SCSI_7000FASST n
bool 'EISA EATA support' CONFIG_SCSI_EATA n
#bool 'SCSI debugging host adapter' CONFIG_SCSI_DEBUG n
fi
if [ "$CONFIG_NET" = "y" ]; then
comment 'Network device support'
bool 'Network device support?' CONFIG_NETDEVICES y
if [ "$CONFIG_NETDEVICES" = "n" ]; then
comment 'Skipping network driver configuration options...'
else
bool 'Dummy net driver support' CONFIG_DUMMY n
bool 'SLIP (serial line) support' CONFIG_SLIP n
if [ "$CONFIG_SLIP" = "y" ]; then
bool ' CSLIP compressed headers' SL_COMPRESSED y
# bool ' SLIP debugging on' SL_DUMP y
fi
bool 'PPP (point-to-point) support' CONFIG_PPP n
bool 'PLIP (parallel port) support' CONFIG_PLIP n
bool 'Load balancing support (experimental)' CONFIG_SLAVE_BALANCING n
bool 'Do you want to be offered ALPHA test drivers' CONFIG_NET_ALPHA n
bool 'Western Digital/SMC cards' CONFIG_NET_VENDOR_SMC n
if [ "$CONFIG_NET_VENDOR_SMC" = "y" ]; then
bool 'WD80*3 support' CONFIG_WD80x3 n
bool 'SMC Ultra support' CONFIG_ULTRA n
fi
bool '3COM cards' CONFIG_NET_VENDOR_3COM n
if [ "$CONFIG_NET_VENDOR_3COM" = "y" ]; then
bool '3c501 support' CONFIG_EL1 n
bool '3c503 support' CONFIG_EL2 n
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
bool '3c505 support' CONFIG_ELPLUS n
bool '3c507 support' CONFIG_EL16 n
fi
bool '3c509/3c579 support' CONFIG_EL3 y
fi
bool 'Other ISA cards' CONFIG_NET_ISA y
if [ "$CONFIG_NET_ISA" = "y" ]; then
bool 'AT1500 and NE2100 (LANCE and PCnet-ISA) support' CONFIG_LANCE n
bool 'Cabletron E21xx support (not recommended)' CONFIG_E2100 n
bool 'DEPCA support' CONFIG_DEPCA y
bool 'EtherWorks 3 support' CONFIG_EWRK3 n
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
bool 'EtherExpress support' CONFIG_EEXPRESS n
bool 'AT1700 support' CONFIG_AT1700 n
bool 'NI5210 support' CONFIG_NI52 n
bool 'NI6510 support' CONFIG_NI65 n
fi
bool 'HP PCLAN support' CONFIG_HPLAN n
bool 'HP PCLAN PLUS support' CONFIG_HPLAN_PLUS n
bool 'NE2000/NE1000 support' CONFIG_NE2000 n
bool 'SK_G16 support' CONFIG_SK_G16 n
fi
bool 'EISA and on board controllers' CONFIG_NET_EISA n
if [ "$CONFIG_NET_ALPHA" = "y" ]; then
bool 'Ansel Communications EISA 3200 support' CONFIG_AC3200 n
fi
bool 'Apricot Xen-II on board ethernet' CONFIG_APRICOT n
bool 'Pocket and portable adaptors' CONFIG_NET_POCKET n
if [ "$CONFIG_NET_POCKET" = "y" ]; then
bool 'D-Link DE600 pocket adaptor support' CONFIG_DE600 n
bool 'D-Link DE620 pocket adaptor support' CONFIG_DE620 n
bool 'AT-LAN-TEC/RealTek pocket adaptor support' CONFIG_ATP n
bool 'Zenith Z-Note support' CONFIG_ZNET n
fi
fi
fi
comment 'CD-ROM drivers'
bool 'Sony CDU31A/CDU33A CDROM driver support' CONFIG_CDU31A n
bool 'Mitsumi CDROM driver support' CONFIG_MCD n
bool 'Matsushita/Panasonic CDROM driver support' CONFIG_SBPCD n
if [ "$CONFIG_SBPCD" = "y" ]; then
bool 'Matsushita/Panasonic second CDROM controller support' CONFIG_SBPCD2 n
if [ "$CONFIG_SBPCD2" = "y" ]; then
bool 'Matsushita/Panasonic third CDROM controller support' CONFIG_SBPCD3 n
if [ "$CONFIG_SBPCD3" = "y" ]; then
bool 'Matsushita/Panasonic fourth CDROM controller support' CONFIG_SBPCD4 n
fi
fi
fi
comment 'Filesystems'
bool 'Standard (minix) fs support' CONFIG_MINIX_FS y
bool 'Extended fs support' CONFIG_EXT_FS n
bool 'Second extended fs support' CONFIG_EXT2_FS y
bool 'xiafs filesystem support' CONFIG_XIA_FS n
bool 'msdos fs support' CONFIG_MSDOS_FS y
if [ "$CONFIG_MSDOS_FS" = "y" ]; then
bool 'umsdos: Unix like fs on top of std MSDOS FAT fs' CONFIG_UMSDOS_FS n
fi
bool '/proc filesystem support' CONFIG_PROC_FS y
if [ "$CONFIG_INET" = "y" ]; then
bool 'NFS filesystem support' CONFIG_NFS_FS y
fi
if [ "$CONFIG_BLK_DEV_SR" = "y" -o "$CONFIG_CDU31A" = "y" -o "$CONFIG_MCD" = "y" -o "$CONFIG_SBPCD" = "y" -o "$CONFIG_BLK_DEV_IDECD" = "y" ]; then
bool 'ISO9660 cdrom filesystem support' CONFIG_ISO9660_FS y
else
bool 'ISO9660 cdrom filesystem support' CONFIG_ISO9660_FS n
fi
bool 'OS/2 HPFS filesystem support (read only)' CONFIG_HPFS_FS n
bool 'System V and Coherent filesystem support' CONFIG_SYSV_FS n
comment 'character devices'
bool 'Parallel printer support' CONFIG_PRINTER n
bool 'Logitech busmouse support' CONFIG_BUSMOUSE n
bool 'PS/2 mouse (aka "auxiliary device") support' CONFIG_PSMOUSE y
if [ "$CONFIG_PSMOUSE" = "y" ]; then
bool 'C&T 82C710 mouse port support (as on TI Travelmate)' CONFIG_82C710_MOUSE y
fi
bool 'Microsoft busmouse support' CONFIG_MS_BUSMOUSE n
bool 'ATIXL busmouse support' CONFIG_ATIXL_BUSMOUSE n
bool 'Selection (cut and paste for virtual consoles)' CONFIG_SELECTION n
bool 'QIC-02 tape support' CONFIG_QIC02_TAPE n
if [ "$CONFIG_QIC02_TAPE" = "y" ]; then
bool 'Do you want runtime configuration for QIC-02' CONFIG_QIC02_DYNCONF y
if [ "$CONFIG_QIC02_DYNCONF" != "y" ]; then
comment '>>> Edit configuration parameters in ./include/linux/tpqic02.h!'
else
comment '>>> Setting runtime QIC-02 configuration is done with qic02conf'
comment '>>> Which is available from ftp://ftp.funet.fi/pub/OS/Linux/BETA/QIC-02/'
fi
fi
bool 'QIC-117 tape support' CONFIG_FTAPE n
if [ "$CONFIG_FTAPE" = "y" ]; then
int ' number of ftape buffers' NR_FTAPE_BUFFERS 3
fi
comment 'Sound'
bool 'Sound card support' CONFIG_SOUND n
comment 'Kernel hacking'
#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC n
bool 'Kernel profiling support' CONFIG_PROFILE n
if [ "$CONFIG_SCSI" = "y" ]; then
bool 'Verbose scsi error reporting (kernel size +=12K)' CONFIG_SCSI_CONSTANTS y
fi
...@@ -16,10 +16,10 @@ ...@@ -16,10 +16,10 @@
.globl _empty_zero_page .globl _empty_zero_page
.globl _floppy_track_buffer .globl _floppy_track_buffer
#define __ASSEMBLY__
#include <linux/tasks.h> #include <linux/tasks.h>
#include <linux/segment.h>
#define ASSEMBLER
#include <linux/fd.h> #include <linux/fd.h>
#include <asm/segment.h>
#define CL_MAGIC_ADDR 0x90020 #define CL_MAGIC_ADDR 0x90020
#define CL_MAGIC 0xA33F #define CL_MAGIC 0xA33F
......
...@@ -19,8 +19,9 @@ ...@@ -19,8 +19,9 @@
! !
! NOTE! These had better be the same as in bootsect.s! ! NOTE! These had better be the same as in bootsect.s!
#define __ASSEMBLY__
#include <linux/config.h> #include <linux/config.h>
#include <linux/segment.h> #include <asm/segment.h>
#ifndef SVGA_MODE #ifndef SVGA_MODE
#define SVGA_MODE ASK_VGA #define SVGA_MODE ASK_VGA
......
...@@ -58,7 +58,7 @@ bool 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F n ...@@ -58,7 +58,7 @@ bool 'UltraStor 14F/34F support' CONFIG_SCSI_U14_34F n
bool 'Future Domain 16xx SCSI support' CONFIG_SCSI_FUTURE_DOMAIN n bool 'Future Domain 16xx SCSI support' CONFIG_SCSI_FUTURE_DOMAIN n
bool 'Generic NCR5380 SCSI support' CONFIG_SCSI_GENERIC_NCR5380 n bool 'Generic NCR5380 SCSI support' CONFIG_SCSI_GENERIC_NCR5380 n
bool 'NCR53c7,8xx SCSI support' CONFIG_SCSI_NCR53C7xx n bool 'NCR53c7,8xx SCSI support' CONFIG_SCSI_NCR53C7xx n
bool 'Always IN2000 SCSI support' CONFIG_SCSI_IN2000 n bool 'Always IN2000 SCSI support (test release)' CONFIG_SCSI_IN2000 n
bool 'PAS16 SCSI support' CONFIG_SCSI_PAS16 n bool 'PAS16 SCSI support' CONFIG_SCSI_PAS16 n
bool 'QLOGIC SCSI support' CONFIG_SCSI_QLOGIC n bool 'QLOGIC SCSI support' CONFIG_SCSI_QLOGIC n
bool 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE n bool 'Seagate ST-02 and Future Domain TMC-8xx SCSI support' CONFIG_SCSI_SEAGATE n
......
...@@ -40,8 +40,9 @@ ...@@ -40,8 +40,9 @@
* 40(%esp) - %oldss * 40(%esp) - %oldss
*/ */
#include <linux/segment.h> #define __ASSEMBLY__
#include <linux/sys.h> #include <linux/sys.h>
#include <asm/segment.h>
EBX = 0x00 EBX = 0x00
ECX = 0x04 ECX = 0x04
......
...@@ -24,7 +24,8 @@ ...@@ -24,7 +24,8 @@
+---------------------------------------------------------------------------*/ +---------------------------------------------------------------------------*/
#include <linux/signal.h> #include <linux/signal.h>
#include <linux/segment.h>
#include <asm/segment.h>
#include "fpu_system.h" #include "fpu_system.h"
#include "fpu_emu.h" #include "fpu_emu.h"
...@@ -32,8 +33,6 @@ ...@@ -32,8 +33,6 @@
#include "control_w.h" #include "control_w.h"
#include "status_w.h" #include "status_w.h"
#include <asm/segment.h>
#define __BAD__ FPU_illegal /* Illegal on an 80486, causes SIGILL */ #define __BAD__ FPU_illegal /* Illegal on an 80486, causes SIGILL */
#ifndef NO_UNDOC_CODE /* Un-documented FPU op-codes supported by default. */ #ifndef NO_UNDOC_CODE /* Un-documented FPU op-codes supported by default. */
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
* 'void poke_blanked_console(void)' * 'void poke_blanked_console(void)'
* 'void scrollback(int lines)' * 'void scrollback(int lines)'
* 'void scrollfront(int lines)' * 'void scrollfront(int lines)'
* 'int do_screendump(int arg)' * 'int do_screendump(int arg, int mode)'
* *
* 'int con_get_font(char *)' * 'int con_get_font(char *)'
* 'int con_set_font(char *)' * 'int con_set_font(char *)'
...@@ -2122,10 +2122,18 @@ void update_screen(int new_console) ...@@ -2122,10 +2122,18 @@ void update_screen(int new_console)
lock = 0; lock = 0;
} }
int do_screendump(int arg) /*
* do_screendump is used for three tasks:
* if (mode==0) is the old ioctl(TIOCLINUX,0)
* if (mode==1) dumps wd,hg, cursor position, and all the char-attr pairs
* if (mode==2) restores what mode1 got.
* the new modes are needed for a fast and complete dump-restore cycle,
* needed to implement root-window menus in text mode (A Rubini Nov 1994)
*/
int do_screendump(int arg, int mode)
{ {
char *sptr, *buf = (char *)arg; char *sptr, *buf = (char *)arg;
int currcons, l; int currcons, l, chcount;
if (!suser()) if (!suser())
return -EPERM; return -EPERM;
...@@ -2136,14 +2144,33 @@ int do_screendump(int arg) ...@@ -2136,14 +2144,33 @@ int do_screendump(int arg)
currcons = (currcons ? currcons-1 : fg_console); currcons = (currcons ? currcons-1 : fg_console);
if (!vc_cons_allocated(currcons)) if (!vc_cons_allocated(currcons))
return -EIO; return -EIO;
l = verify_area(VERIFY_WRITE, buf, 2+video_num_columns*video_num_lines);
/* mode 0 needs 2+wd*ht, modes 1 and 2 need 4+2*wd*ht */
chcount=video_num_columns*video_num_lines;
l = verify_area(mode==2 ? VERIFY_READ :VERIFY_WRITE,
buf, (2+chcount)*(1+mode!=0));
if (l) if (l)
return l; return l;
if (mode<2) {
put_fs_byte((char)(video_num_lines),buf++); put_fs_byte((char)(video_num_lines),buf++);
put_fs_byte((char)(video_num_columns),buf++); put_fs_byte((char)(video_num_columns),buf++);
}
switch(mode) {
case 0:
sptr = (char *) origin; sptr = (char *) origin;
for (l=video_num_lines*video_num_columns; l>0 ; l--, sptr++) for (l=chcount; l>0 ; l--, sptr++)
put_fs_byte(*sptr++,buf++); put_fs_byte(*sptr++,buf++);
break;
case 1:
put_fs_byte((char)x,buf++); put_fs_byte((char)y,buf++);
memcpy_tofs(buf,(char *)origin,2*chcount);
break;
case 2:
buf+=2; /* skip the the numnber 9 and console number */
x=get_fs_byte(buf++); y=get_fs_byte(buf++);
memcpy_fromfs((char *)origin,buf,2*chcount);
break;
}
return(0); return(0);
} }
......
...@@ -456,6 +456,8 @@ long lp_init(long kmem_start) ...@@ -456,6 +456,8 @@ long lp_init(long kmem_start)
} }
/* take on all known port values */ /* take on all known port values */
for (offset = 0; offset < LP_NO; offset++) { for (offset = 0; offset < LP_NO; offset++) {
if (check_region(LP_B(offset), 3))
continue;
/* write to port & read back to check */ /* write to port & read back to check */
outb_p( LP_DUMMY, LP_B(offset)); outb_p( LP_DUMMY, LP_B(offset));
for (testvalue = 0 ; testvalue < LP_DELAY ; testvalue++) for (testvalue = 0 ; testvalue < LP_DELAY ; testvalue++)
...@@ -465,6 +467,7 @@ long lp_init(long kmem_start) ...@@ -465,6 +467,7 @@ long lp_init(long kmem_start)
LP_F(offset) |= LP_EXIST; LP_F(offset) |= LP_EXIST;
lp_reset(offset); lp_reset(offset);
printk("lp_init: lp%d exists, ", offset); printk("lp_init: lp%d exists, ", offset);
snarf_region(LP_B(offset), 3);
if (LP_IRQ(offset)) if (LP_IRQ(offset))
printk("using IRQ%d\n", LP_IRQ(offset)); printk("using IRQ%d\n", LP_IRQ(offset));
else else
......
...@@ -72,7 +72,7 @@ extern int sel_loadlut(const int arg); ...@@ -72,7 +72,7 @@ extern int sel_loadlut(const int arg);
extern int mouse_reporting(void); extern int mouse_reporting(void);
extern int shift_state; extern int shift_state;
#endif /* CONFIG_SELECTION */ #endif /* CONFIG_SELECTION */
extern int do_screendump(int arg); extern int do_screendump(int arg, int mode);
struct termios tty_std_termios; /* for the benefit of tty drivers */ struct termios tty_std_termios; /* for the benefit of tty drivers */
struct tty_driver *tty_drivers = NULL; /* linked list of tty drivers */ struct tty_driver *tty_drivers = NULL; /* linked list of tty drivers */
...@@ -1400,10 +1400,10 @@ static int tty_ioctl(struct inode * inode, struct file * file, ...@@ -1400,10 +1400,10 @@ static int tty_ioctl(struct inode * inode, struct file * file,
retval = verify_area(VERIFY_READ, (void *) arg, 1); retval = verify_area(VERIFY_READ, (void *) arg, 1);
if (retval) if (retval)
return retval; return retval;
switch (get_fs_byte((char *)arg)) switch (retval = get_fs_byte((char *)arg))
{ {
case 0: case 0:
return do_screendump(arg); return do_screendump(arg,0);
case 1: case 1:
printk("Deprecated TIOCLINUX (1) ioctl\n"); printk("Deprecated TIOCLINUX (1) ioctl\n");
return do_get_ps_info(arg); return do_get_ps_info(arg);
...@@ -1420,16 +1420,21 @@ static int tty_ioctl(struct inode * inode, struct file * file, ...@@ -1420,16 +1420,21 @@ static int tty_ioctl(struct inode * inode, struct file * file,
case 5: case 5:
return sel_loadlut(arg); return sel_loadlut(arg);
case 6: case 6:
/* Make it possible to react to Shift+Mousebutton */ /*
/* Note that shift_state is an undocumented * Make it possible to react to Shift+Mousebutton.
kernel-internal variable; programs not closely * Note that 'shift_state' is an undocumented
related to the kernel should not use this. */ * kernel-internal variable; programs not closely
* related to the kernel should not use this.
*/
put_fs_byte(shift_state,arg); put_fs_byte(shift_state,arg);
return 0; return 0;
case 7: case 7:
put_fs_byte(mouse_reporting(),arg); put_fs_byte(mouse_reporting(),arg);
return 0; return 0;
#endif /* CONFIG_SELECTION */ #endif /* CONFIG_SELECTION */
case 8: /* second arg is 1 or 2 */
case 9: /* both are explained in console.c */
return do_screendump(arg,retval-7);
default: default:
return -EINVAL; return -EINVAL;
} }
...@@ -1598,7 +1603,7 @@ int tty_unregister_driver(struct tty_driver *driver) ...@@ -1598,7 +1603,7 @@ int tty_unregister_driver(struct tty_driver *driver)
int found = 0; int found = 0;
int major_inuse = 0; int major_inuse = 0;
if (driver->refcount) if (*driver->refcount)
return -EBUSY; return -EBUSY;
for (p = tty_drivers; p; p = p->next) { for (p = tty_drivers; p; p = p->next) {
......
...@@ -34,9 +34,10 @@ static char *version = ...@@ -34,9 +34,10 @@ static char *version =
#include <linux/malloc.h> #include <linux/malloc.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/errno.h>
#include <asm/bitops.h> #include <asm/bitops.h>
#include <asm/io.h> #include <asm/io.h>
#include <errno.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
......
...@@ -41,7 +41,7 @@ static char *version = ...@@ -41,7 +41,7 @@ static char *version =
#include <asm/segment.h> #include <asm/segment.h>
#include <asm/bitops.h> #include <asm/bitops.h>
#include <asm/io.h> #include <asm/io.h>
#include <errno.h> #include <linux/errno.h>
#include <linux/fcntl.h> #include <linux/fcntl.h>
#include <linux/in.h> #include <linux/in.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
......
...@@ -671,13 +671,13 @@ unsigned long apricot_init(unsigned long mem_start, unsigned long mem_end) ...@@ -671,13 +671,13 @@ unsigned long apricot_init(unsigned long mem_start, unsigned long mem_end)
for(i = 0; i < 6 ; i++) for(i = 0; i < 6 ; i++)
eth_addr[i] = inb(ioaddr +8 +i)); eth_addr[i] = inb(ioaddr +8 +i);
/* Some other boards trip the checksum.. but then appear as ether /* Some other boards trip the checksum.. but then appear as ether
address 0. Trap these - AC */ address 0. Trap these - AC */
if(memcmp(eth_addr,"\x00\x00\x00\x00\x00\x00",6)==0) if(memcmp(eth_addr,"\x00\x00\x00\x00\x00\x00",6)==0)
return mem_addr; return mem_start;
dev = init_etherdev(0, (sizeof (struct i596_private) + 0xf), &mem_start); dev = init_etherdev(0, (sizeof (struct i596_private) + 0xf), &mem_start);
printk("%s: Apricot 82596 at %#3x,", dev->name, ioaddr); printk("%s: Apricot 82596 at %#3x,", dev->name, ioaddr);
......
...@@ -47,7 +47,7 @@ static char *version = ...@@ -47,7 +47,7 @@ static char *version =
#include <asm/bitops.h> #include <asm/bitops.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <errno.h> #include <linux/errno.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
......
...@@ -89,7 +89,7 @@ static char *version = ...@@ -89,7 +89,7 @@ static char *version =
#include <asm/bitops.h> #include <asm/bitops.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <errno.h> #include <linux/errno.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
......
...@@ -98,10 +98,10 @@ unsigned int de600_debug = DE600_DEBUG; ...@@ -98,10 +98,10 @@ unsigned int de600_debug = DE600_DEBUG;
#include <linux/string.h> #include <linux/string.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <asm/io.h> #include <asm/io.h>
#include <netinet/in.h> #include <linux/in.h>
#include <linux/ptrace.h> #include <linux/ptrace.h>
#include <asm/system.h> #include <asm/system.h>
#include <errno.h> #include <linux/errno.h>
#include <linux/inet.h> #include <linux/inet.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
......
...@@ -109,10 +109,10 @@ static char *version = ...@@ -109,10 +109,10 @@ static char *version =
#include <linux/string.h> #include <linux/string.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <asm/io.h> #include <asm/io.h>
#include <netinet/in.h> #include <linux/in.h>
#include <linux/ptrace.h> #include <linux/ptrace.h>
#include <asm/system.h> #include <asm/system.h>
#include <errno.h> #include <linux/errno.h>
#include <linux/inet.h> #include <linux/inet.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
#include <asm/bitops.h> #include <asm/bitops.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <errno.h> #include <linux/errno.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
......
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