add directory Linux-0.11
This commit is contained in:
BIN
Linux-0.11/patchs/buffer.c.Z
Normal file
BIN
Linux-0.11/patchs/buffer.c.Z
Normal file
Binary file not shown.
89
Linux-0.11/patchs/build.c.patch
Normal file
89
Linux-0.11/patchs/build.c.patch
Normal file
@@ -0,0 +1,89 @@
|
||||
*** build.c.orig Sat Nov 9 21:50:51 1991
|
||||
--- build.c Sat Nov 9 22:23:13 1991
|
||||
***************
|
||||
*** 17,24 ****
|
||||
--- 17,27 ----
|
||||
*/
|
||||
|
||||
#include <stdio.h> /* fprintf */
|
||||
+ #include <string.h>
|
||||
#include <stdlib.h> /* contains exit */
|
||||
#include <sys/types.h> /* unistd.h needs this */
|
||||
+ #include <sys/stat.h>
|
||||
+ #include <linux/fs.h>
|
||||
#include <unistd.h> /* contains read/write */
|
||||
#include <fcntl.h>
|
||||
|
||||
***************
|
||||
*** 25,30 ****
|
||||
--- 28,36 ----
|
||||
#define MINIX_HEADER 32
|
||||
#define GCC_HEADER 1024
|
||||
|
||||
+ #define DEFAULT_MAJOR_ROOT 3
|
||||
+ #define DEFAULT_MINOR_ROOT 6
|
||||
+
|
||||
/* max nr of sectors of setup: don't change unless you also change
|
||||
* bootsect etc */
|
||||
#define SETUP_SECTS 4
|
||||
***************
|
||||
*** 46,54 ****
|
||||
{
|
||||
int i,c,id;
|
||||
char buf[1024];
|
||||
|
||||
! if (argc != 4)
|
||||
usage();
|
||||
for (i=0;i<sizeof buf; i++) buf[i]=0;
|
||||
if ((id=open(argv[1],O_RDONLY,0))<0)
|
||||
die("Unable to open 'boot'");
|
||||
--- 52,85 ----
|
||||
{
|
||||
int i,c,id;
|
||||
char buf[1024];
|
||||
+ char major_root, minor_root;
|
||||
+ struct stat sb;
|
||||
|
||||
! if ((argc != 4) && (argc != 5))
|
||||
usage();
|
||||
+ if (argc == 5) {
|
||||
+ if (strcmp(argv[4], "FLOPPY")) {
|
||||
+ if (stat(argv[4], &sb)) {
|
||||
+ perror(argv[4]);
|
||||
+ die("Couldn't stat root device.");
|
||||
+ }
|
||||
+ major_root = MAJOR(sb.st_rdev);
|
||||
+ minor_root = MINOR(sb.st_rdev);
|
||||
+ } else {
|
||||
+ major_root = 0;
|
||||
+ minor_root = 0;
|
||||
+ }
|
||||
+ } else {
|
||||
+ major_root = DEFAULT_MAJOR_ROOT;
|
||||
+ minor_root = DEFAULT_MINOR_ROOT;
|
||||
+ }
|
||||
+ fprintf(stderr, "Root device is (%d, %d)\n", major_root, minor_root);
|
||||
+ if ((major_root != 2) && (major_root != 3) &&
|
||||
+ (major_root != 0)) {
|
||||
+ fprintf(stderr, "Illegal root device (major = %d)\n",
|
||||
+ major_root);
|
||||
+ die("Bad root device --- major #");
|
||||
+ }
|
||||
for (i=0;i<sizeof buf; i++) buf[i]=0;
|
||||
if ((id=open(argv[1],O_RDONLY,0))<0)
|
||||
die("Unable to open 'boot'");
|
||||
***************
|
||||
*** 72,77 ****
|
||||
--- 103,110 ----
|
||||
die("Boot block must be exactly 512 bytes");
|
||||
if ((*(unsigned short *)(buf+510)) != 0xAA55)
|
||||
die("Boot block hasn't got boot flag (0xAA55)");
|
||||
+ buf[508] = (char) minor_root;
|
||||
+ buf[509] = (char) major_root;
|
||||
i=write(1,buf,512);
|
||||
if (i!=512)
|
||||
die("Write call failed");
|
||||
|
||||
|
||||
|
||||
|
||||
195
Linux-0.11/patchs/cons.cdif
Normal file
195
Linux-0.11/patchs/cons.cdif
Normal file
@@ -0,0 +1,195 @@
|
||||
*** cons.11 Tue Dec 24 09:16:31 1991
|
||||
--- console.c Tue Dec 24 08:20:11 1991
|
||||
***************
|
||||
*** 76,81 ****
|
||||
--- 76,82 ----
|
||||
unsigned char vc_def_attr;
|
||||
unsigned long vc_ques;
|
||||
unsigned long vc_state;
|
||||
+ unsigned long vc_restate;
|
||||
unsigned long vc_origin; /* Used for EGA/VGA fast scroll */
|
||||
unsigned long vc_scr_end; /* Used for EGA/VGA fast scroll */
|
||||
unsigned long vc_pos;
|
||||
***************
|
||||
*** 101,106 ****
|
||||
--- 102,108 ----
|
||||
#define x (vc_cons[currcons].vc_x)
|
||||
#define y (vc_cons[currcons].vc_y)
|
||||
#define state (vc_cons[currcons].vc_state)
|
||||
+ #define restate (vc_cons[currcons].vc_restate)
|
||||
#define npar (vc_cons[currcons].vc_npar)
|
||||
#define par (vc_cons[currcons].vc_par)
|
||||
#define ques (vc_cons[currcons].vc_ques)
|
||||
***************
|
||||
*** 370,375 ****
|
||||
--- 372,387 ----
|
||||
}
|
||||
}
|
||||
|
||||
+ static char csi_graph(int currcons, char ch )
|
||||
+ {
|
||||
+ char *val, *ac=
|
||||
+ "0\333a\261h\040I\017`\004f\370g\361j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263~\025";
|
||||
+ if (val = strchr(ac,ch))
|
||||
+ return(*(val+1));
|
||||
+ return(0);
|
||||
+
|
||||
+ }
|
||||
+
|
||||
static inline void set_cursor(int currcons)
|
||||
{
|
||||
if (currcons != fg_console)
|
||||
***************
|
||||
*** 505,511 ****
|
||||
void con_write(struct tty_struct * tty)
|
||||
{
|
||||
int nr;
|
||||
! char c;
|
||||
|
||||
int currcons;
|
||||
|
||||
--- 517,523 ----
|
||||
void con_write(struct tty_struct * tty)
|
||||
{
|
||||
int nr;
|
||||
! char c, ch = 0;
|
||||
|
||||
int currcons;
|
||||
|
||||
***************
|
||||
*** 564,570 ****
|
||||
sysbeep();
|
||||
break;
|
||||
case 1:
|
||||
! state=0;
|
||||
if (c=='[')
|
||||
state=2;
|
||||
else if (c=='E')
|
||||
--- 576,582 ----
|
||||
sysbeep();
|
||||
break;
|
||||
case 1:
|
||||
! state=restate;
|
||||
if (c=='[')
|
||||
state=2;
|
||||
else if (c=='E')
|
||||
***************
|
||||
*** 575,584 ****
|
||||
lf(currcons);
|
||||
else if (c=='Z')
|
||||
respond(currcons,tty);
|
||||
! else if (x=='7')
|
||||
save_cur(currcons);
|
||||
! else if (x=='8')
|
||||
restore_cur(currcons);
|
||||
break;
|
||||
case 2:
|
||||
for(npar=0;npar<NPAR;npar++)
|
||||
--- 587,598 ----
|
||||
lf(currcons);
|
||||
else if (c=='Z')
|
||||
respond(currcons,tty);
|
||||
! else if (c=='7')
|
||||
save_cur(currcons);
|
||||
! else if (c=='8')
|
||||
restore_cur(currcons);
|
||||
+ else if (c == '(' || c == ')')
|
||||
+ state = 6;
|
||||
break;
|
||||
case 2:
|
||||
for(npar=0;npar<NPAR;npar++)
|
||||
***************
|
||||
*** 600,606 ****
|
||||
break;
|
||||
} else state=4;
|
||||
case 4:
|
||||
! state=0;
|
||||
switch(c) {
|
||||
case 'G': case '`':
|
||||
if (par[0]) par[0]--;
|
||||
--- 614,620 ----
|
||||
break;
|
||||
} else state=4;
|
||||
case 4:
|
||||
! state=restate;
|
||||
switch(c) {
|
||||
case 'G': case '`':
|
||||
if (par[0]) par[0]--;
|
||||
***************
|
||||
*** 680,685 ****
|
||||
--- 694,751 ----
|
||||
case 5:
|
||||
/* Function Key */
|
||||
break;
|
||||
+ case 6:
|
||||
+ if (c == '0')
|
||||
+ { state =
|
||||
+ restate = 7;
|
||||
+ }
|
||||
+ else
|
||||
+ if (c == 'B')
|
||||
+ { state =
|
||||
+ restate = 0;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 7:
|
||||
+ if (c == 15)
|
||||
+ { state =
|
||||
+ restate = 9;
|
||||
+ break;
|
||||
+ }
|
||||
+ else
|
||||
+ ch = csi_graph(currcons,c);
|
||||
+ case 9:
|
||||
+ if (c == 14)
|
||||
+ { state =
|
||||
+ restate = 7;
|
||||
+ break;
|
||||
+ }
|
||||
+ else if (c == 27)
|
||||
+ { state = 1;
|
||||
+ break;
|
||||
+ }
|
||||
+ else
|
||||
+ if (state == 9)
|
||||
+ { if (c>31 && c<127)
|
||||
+ ch = c;
|
||||
+ else
|
||||
+ break;
|
||||
+ }
|
||||
+ case 10:
|
||||
+ if (ch)
|
||||
+ if (x>=video_num_columns) {
|
||||
+ x -= video_num_columns;
|
||||
+ pos -= video_size_row;
|
||||
+ lf(currcons);
|
||||
+ }
|
||||
+ __asm__("movb _myattr,%%ah\n\t"
|
||||
+ "movw %%ax,%1\n\t"
|
||||
+ ::"a" (ch),"m" (*(short *)pos)
|
||||
+ :"ax");
|
||||
+ pos += 2;
|
||||
+ x++;
|
||||
+ break;
|
||||
+
|
||||
+
|
||||
}
|
||||
}
|
||||
set_cursor(currcons);
|
||||
***************
|
||||
*** 765,771 ****
|
||||
bottom = video_num_lines;
|
||||
attr=0x07;
|
||||
def_attr=0x07;
|
||||
! state=0;
|
||||
ques = 0;
|
||||
iscolor = 0;
|
||||
|
||||
--- 831,837 ----
|
||||
bottom = video_num_lines;
|
||||
attr=0x07;
|
||||
def_attr=0x07;
|
||||
! restate = state=0;
|
||||
ques = 0;
|
||||
iscolor = 0;
|
||||
|
||||
329
Linux-0.11/patchs/gawk-diffs
Normal file
329
Linux-0.11/patchs/gawk-diffs
Normal file
@@ -0,0 +1,329 @@
|
||||
*** 1.1 1991/12/11 16:13:13
|
||||
--- Makefile 1991/12/11 17:07:11
|
||||
***************
|
||||
*** 64,71 ****
|
||||
# MISSING = -DSPRINTF_INT -DBLKSIZE_MISSING -DSTRERROR_MISSING -DRANDOM_MISSING
|
||||
|
||||
# VAX running Ultrix 3.x
|
||||
- MISSING = -DSTRERROR_MISSING
|
||||
|
||||
# A generic 4.2 BSD machine
|
||||
# (eliminate GETOPT_MISSING for 4.3 release)
|
||||
# (eliminate STRCASE_MISSING and TMPNAM_MISSING for Tahoe release)
|
||||
--- 64,75 ----
|
||||
# MISSING = -DSPRINTF_INT -DBLKSIZE_MISSING -DSTRERROR_MISSING -DRANDOM_MISSING
|
||||
|
||||
# VAX running Ultrix 3.x
|
||||
|
||||
+ # LINUX
|
||||
+ MISSING = -DSPRINTF_INT -DTMPNAM_MISSING -DBLKSIZE_MISSING -DSTRCASE_MISSING \
|
||||
+ -Dalloca=__builtin_alloca -DGCVT_MISSING -DRANDOM_MISSING \
|
||||
+ -DBCOPY_MISSING -DSTRTOD_MISSING
|
||||
+
|
||||
# A generic 4.2 BSD machine
|
||||
# (eliminate GETOPT_MISSING for 4.3 release)
|
||||
# (eliminate STRCASE_MISSING and TMPNAM_MISSING for Tahoe release)
|
||||
***************
|
||||
*** 80,92 ****
|
||||
|
||||
# Comment out the next line if you don't have gcc.
|
||||
# Also choose just one of -g and -O.
|
||||
! #CC= gcc
|
||||
|
||||
! #OPTIMIZE= -O -g
|
||||
PROFILE= #-pg
|
||||
DEBUG= #-DDEBUG #-DMEMDEBUG #-DFUNC_TRACE #-DMPROF
|
||||
DEBUGGER= #-g -Bstatic
|
||||
! WARN= #-W -Wunused -Wimplicit -Wreturn-type -Wcomment # for gcc only
|
||||
|
||||
# Parser to use on grammar -- if you don't have bison use the first one
|
||||
#PARSER = yacc
|
||||
--- 84,96 ----
|
||||
|
||||
# Comment out the next line if you don't have gcc.
|
||||
# Also choose just one of -g and -O.
|
||||
! CC= gcc
|
||||
|
||||
! OPTIMIZE= -O #-g
|
||||
PROFILE= #-pg
|
||||
DEBUG= #-DDEBUG #-DMEMDEBUG #-DFUNC_TRACE #-DMPROF
|
||||
DEBUGGER= #-g -Bstatic
|
||||
! WARN= -W -Wunused -Wimplicit -Wreturn-type -Wcomment # for gcc only
|
||||
|
||||
# Parser to use on grammar -- if you don't have bison use the first one
|
||||
#PARSER = yacc
|
||||
***************
|
||||
*** 154,160 ****
|
||||
|
||||
# rules to build gawk
|
||||
gawk: $(ALLOBJS) $(GNUOBJS)
|
||||
! $(CC) -o gawk $(CFLAGS) $(ALLOBJS) $(GNUOBJS) -lm
|
||||
|
||||
$(AWKOBJS): awk.h
|
||||
|
||||
--- 158,164 ----
|
||||
|
||||
# rules to build gawk
|
||||
gawk: $(ALLOBJS) $(GNUOBJS)
|
||||
! $(CC) -o gawk $(CFLAGS) $(ALLOBJS) $(GNUOBJS) #-lm
|
||||
|
||||
$(AWKOBJS): awk.h
|
||||
|
||||
*** 1.1 1991/12/11 16:18:17
|
||||
--- awk.h 1991/12/11 17:07:45
|
||||
***************
|
||||
*** 42,51 ****
|
||||
extern char *alloca();
|
||||
#endif
|
||||
#else
|
||||
extern char *alloca();
|
||||
#endif
|
||||
#ifdef SPRINTF_INT
|
||||
! extern int sprintf();
|
||||
#else /* not USG */
|
||||
/* nasty nasty berkelixm */
|
||||
#define setjmp _setjmp
|
||||
--- 42,53 ----
|
||||
extern char *alloca();
|
||||
#endif
|
||||
#else
|
||||
+ #ifndef alloca
|
||||
extern char *alloca();
|
||||
#endif
|
||||
+ #endif
|
||||
#ifdef SPRINTF_INT
|
||||
! /* extern int sprintf(); XXX LINUX */
|
||||
#else /* not USG */
|
||||
/* nasty nasty berkelixm */
|
||||
#define setjmp _setjmp
|
||||
***************
|
||||
*** 78,99 ****
|
||||
extern char *memset(char *, int, int);
|
||||
|
||||
/* extern int fprintf(FILE *, char *, ...); */
|
||||
! extern int fprintf();
|
||||
extern int vfprintf();
|
||||
#ifndef MSDOS
|
||||
! extern int fwrite(char *, int, int, FILE *);
|
||||
#endif
|
||||
extern int fflush(FILE *);
|
||||
extern int fclose(FILE *);
|
||||
extern int pclose(FILE *);
|
||||
#ifndef MSDOS
|
||||
! extern int fputs(char *, FILE *);
|
||||
#endif
|
||||
extern void abort();
|
||||
extern int isatty(int);
|
||||
extern void exit(int);
|
||||
extern int system(char *);
|
||||
extern int sscanf(/* char *, char *, ... */);
|
||||
|
||||
extern double atof(char *);
|
||||
extern int fstat(int, struct stat *);
|
||||
--- 80,104 ----
|
||||
extern char *memset(char *, int, int);
|
||||
|
||||
/* extern int fprintf(FILE *, char *, ...); */
|
||||
! /* extern int fprintf(); XXXL */
|
||||
extern int vfprintf();
|
||||
#ifndef MSDOS
|
||||
! /* extern int fwrite(char *, int, int, FILE *); XXXL */
|
||||
#endif
|
||||
extern int fflush(FILE *);
|
||||
extern int fclose(FILE *);
|
||||
extern int pclose(FILE *);
|
||||
#ifndef MSDOS
|
||||
! /* extern int fputs(char *, FILE *); XXXL */
|
||||
#endif
|
||||
extern void abort();
|
||||
extern int isatty(int);
|
||||
extern void exit(int);
|
||||
extern int system(char *);
|
||||
+ #if 0
|
||||
+ /* XXXL */
|
||||
extern int sscanf(/* char *, char *, ... */);
|
||||
+ #endif
|
||||
|
||||
extern double atof(char *);
|
||||
extern int fstat(int, struct stat *);
|
||||
***************
|
||||
*** 100,110 ****
|
||||
extern off_t lseek(int, off_t, int);
|
||||
extern int fseek(FILE *, long, int);
|
||||
extern int close(int);
|
||||
! extern int open();
|
||||
extern int pipe(int *);
|
||||
extern int dup2(int, int);
|
||||
#ifndef MSDOS
|
||||
! extern int unlink(char *);
|
||||
#endif
|
||||
extern int fork();
|
||||
extern int execl(/* char *, char *, ... */);
|
||||
--- 105,115 ----
|
||||
extern off_t lseek(int, off_t, int);
|
||||
extern int fseek(FILE *, long, int);
|
||||
extern int close(int);
|
||||
! /* extern int open(); XXXL */
|
||||
extern int pipe(int *);
|
||||
extern int dup2(int, int);
|
||||
#ifndef MSDOS
|
||||
! /* extern int unlink(char *); XXXL */
|
||||
#endif
|
||||
extern int fork();
|
||||
extern int execl(/* char *, char *, ... */);
|
||||
*** 1.1 1991/12/11 16:29:17
|
||||
--- awk.y 1991/12/11 17:08:04
|
||||
***************
|
||||
*** 96,102 ****
|
||||
|
||||
%type <sval> func_name
|
||||
%token <sval> FUNC_CALL NAME REGEXP
|
||||
! %token <lval> ERROR
|
||||
%token <nodeval> NUMBER YSTRING
|
||||
%token <nodetypeval> RELOP APPEND_OP
|
||||
%token <nodetypeval> ASSIGNOP MATCHOP NEWLINE CONCAT_OP
|
||||
--- 96,102 ----
|
||||
|
||||
%type <sval> func_name
|
||||
%token <sval> FUNC_CALL NAME REGEXP
|
||||
! %token <lval> ERROR_TOK
|
||||
%token <nodeval> NUMBER YSTRING
|
||||
%token <nodetypeval> RELOP APPEND_OP
|
||||
%token <nodetypeval> ASSIGNOP MATCHOP NEWLINE CONCAT_OP
|
||||
***************
|
||||
*** 386,401 ****
|
||||
|
||||
nls
|
||||
: NEWLINE
|
||||
! { $<nodetypeval>$ = NULL; }
|
||||
| nls NEWLINE
|
||||
! { $<nodetypeval>$ = NULL; }
|
||||
;
|
||||
|
||||
opt_nls
|
||||
: /* empty */
|
||||
! { $<nodetypeval>$ = NULL; }
|
||||
| nls
|
||||
! { $<nodetypeval>$ = NULL; }
|
||||
;
|
||||
|
||||
input_redir
|
||||
--- 386,401 ----
|
||||
|
||||
nls
|
||||
: NEWLINE
|
||||
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
||||
| nls NEWLINE
|
||||
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
||||
;
|
||||
|
||||
opt_nls
|
||||
: /* empty */
|
||||
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
||||
| nls
|
||||
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
||||
;
|
||||
|
||||
input_redir
|
||||
***************
|
||||
*** 953,959 ****
|
||||
case '\\':
|
||||
if (*lexptr++ == '\0') {
|
||||
yyerror("unterminated regexp ends with \\");
|
||||
! return ERROR;
|
||||
} else if (lexptr[-1] == '\n')
|
||||
goto retry;
|
||||
break;
|
||||
--- 953,959 ----
|
||||
case '\\':
|
||||
if (*lexptr++ == '\0') {
|
||||
yyerror("unterminated regexp ends with \\");
|
||||
! return ERROR_TOK;
|
||||
} else if (lexptr[-1] == '\n')
|
||||
goto retry;
|
||||
break;
|
||||
***************
|
||||
*** 969,975 ****
|
||||
case '\0':
|
||||
lexptr--; /* so error messages work */
|
||||
yyerror("unterminated regexp");
|
||||
! return ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
--- 969,975 ----
|
||||
case '\0':
|
||||
lexptr--; /* so error messages work */
|
||||
yyerror("unterminated regexp");
|
||||
! return ERROR_TOK;
|
||||
}
|
||||
}
|
||||
}
|
||||
***************
|
||||
*** 1163,1169 ****
|
||||
case '\n':
|
||||
lexptr--;
|
||||
yyerror("unterminated string");
|
||||
! return ERROR;
|
||||
case '"':
|
||||
yylval.nodeval = make_str_node(tokstart + 1,
|
||||
lexptr-tokstart-2, esc_seen);
|
||||
--- 1163,1169 ----
|
||||
case '\n':
|
||||
lexptr--;
|
||||
yyerror("unterminated string");
|
||||
! return ERROR_TOK;
|
||||
case '"':
|
||||
yylval.nodeval = make_str_node(tokstart + 1,
|
||||
lexptr-tokstart-2, esc_seen);
|
||||
***************
|
||||
*** 1171,1177 ****
|
||||
return YSTRING;
|
||||
}
|
||||
}
|
||||
! return ERROR;
|
||||
|
||||
case '-':
|
||||
if (*lexptr == '=') {
|
||||
--- 1171,1177 ----
|
||||
return YSTRING;
|
||||
}
|
||||
}
|
||||
! return ERROR_TOK;
|
||||
|
||||
case '-':
|
||||
if (*lexptr == '=') {
|
||||
***************
|
||||
*** 1256,1262 ****
|
||||
}
|
||||
return LEX_AND;
|
||||
}
|
||||
! return ERROR;
|
||||
|
||||
case '|':
|
||||
if (*lexptr == '|') {
|
||||
--- 1256,1262 ----
|
||||
}
|
||||
return LEX_AND;
|
||||
}
|
||||
! return ERROR_TOK;
|
||||
|
||||
case '|':
|
||||
if (*lexptr == '|') {
|
||||
***************
|
||||
*** 1279,1285 ****
|
||||
|
||||
if (c != '_' && ! isalpha(c)) {
|
||||
yyerror("Invalid char '%c' in expression\n", c);
|
||||
! return ERROR;
|
||||
}
|
||||
|
||||
/* it's some type of name-type-thing. Find its length */
|
||||
--- 1279,1285 ----
|
||||
|
||||
if (c != '_' && ! isalpha(c)) {
|
||||
yyerror("Invalid char '%c' in expression\n", c);
|
||||
! return ERROR_TOK;
|
||||
}
|
||||
|
||||
/* it's some type of name-type-thing. Find its length */
|
||||
73
Linux-0.11/patchs/hosts.h
Normal file
73
Linux-0.11/patchs/hosts.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifndef __HOST_H__
|
||||
#define __HOSTS_H__
|
||||
|
||||
/*
|
||||
File hosts.h
|
||||
SCSI host adapter include file.
|
||||
*/
|
||||
|
||||
#define MAX_SCSI_HOSTS 1
|
||||
|
||||
/*
|
||||
The Scsi_Host type has all that is needed to interface with a SCSI
|
||||
host in a device independant matter.
|
||||
*/
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/*
|
||||
The name pointer is a pointer to the name of the SCSI
|
||||
device detected.
|
||||
*/
|
||||
|
||||
char *name;
|
||||
|
||||
/*
|
||||
The detect function shall return non zero on detection,
|
||||
and initialize all data necessary for this particular
|
||||
SCSI driver.
|
||||
*/
|
||||
|
||||
int (* detect)(void);
|
||||
|
||||
/*
|
||||
The info function will return whatever useful
|
||||
information the developer sees fit.
|
||||
*/
|
||||
|
||||
char * (* info)(void);
|
||||
|
||||
/*
|
||||
The command function shall return the SCSI return
|
||||
code in the low 8 bits, a driver error in the high 8
|
||||
bits. Target is the target ID, IN normal numbers - not a
|
||||
bit. The cmnd is the variable length command to
|
||||
be sent,
|
||||
buff a pointer to the buffer which will be read from /
|
||||
written to, and bufflen the length of that buffer
|
||||
*/
|
||||
|
||||
int (* command)(unsigned char target, const void *cmnd,
|
||||
void *buff, int bufflen);
|
||||
|
||||
/*
|
||||
present contains a flag as to weather we are present -
|
||||
so we don't have to call detect multiple times.
|
||||
*/
|
||||
|
||||
unsigned char present;
|
||||
} Scsi_Host;
|
||||
|
||||
/*
|
||||
The scsi_hosts array is the array containing the data for all
|
||||
possible <supported> scsi hosts.
|
||||
*/
|
||||
|
||||
extern Scsi_Host scsi_hosts[MAX_SCSI_HOSTS];
|
||||
|
||||
/*
|
||||
scsi_init initializes the scsi hosts.
|
||||
*/
|
||||
|
||||
void scsi_init(void);
|
||||
#endif
|
||||
71
Linux-0.11/patchs/inwrite.cdif
Normal file
71
Linux-0.11/patchs/inwrite.cdif
Normal file
@@ -0,0 +1,71 @@
|
||||
*** cons.c.bad Wed Dec 25 02:12:18 1991
|
||||
--- console.c Wed Dec 25 02:06:44 1991
|
||||
***************
|
||||
*** 530,535 ****
|
||||
--- 530,537 ----
|
||||
}
|
||||
|
||||
|
||||
+ static int in_conwrite = 0;
|
||||
+
|
||||
void con_write(struct tty_struct * tty)
|
||||
{
|
||||
int nr;
|
||||
***************
|
||||
*** 537,542 ****
|
||||
--- 539,546 ----
|
||||
|
||||
int currcons;
|
||||
|
||||
+ in_conwrite++;
|
||||
+
|
||||
for (currcons = 0; currcons<=NR_CONSOLES; currcons++)
|
||||
if (tty == TTY_TABLE(currcons))
|
||||
break;
|
||||
***************
|
||||
*** 772,777 ****
|
||||
--- 776,782 ----
|
||||
}
|
||||
}
|
||||
set_cursor(currcons);
|
||||
+ in_conwrite--;
|
||||
}
|
||||
|
||||
/*
|
||||
***************
|
||||
*** 1004,1009 ****
|
||||
--- 1009,1018 ----
|
||||
|
||||
void blank_screen()
|
||||
{
|
||||
+ if (in_conwrite)
|
||||
+ { blankcount = HZ*20;
|
||||
+ return;
|
||||
+ }
|
||||
if (blanked_fg > -1)
|
||||
return;
|
||||
blanked_fg = fg_console;
|
||||
***************
|
||||
*** 1015,1020 ****
|
||||
--- 1024,1033 ----
|
||||
|
||||
void unblank_screen()
|
||||
{
|
||||
+ if (in_conwrite)
|
||||
+ { blankcount = HZ*20;
|
||||
+ return;
|
||||
+ }
|
||||
if (blanked_fg <= -1)
|
||||
return;
|
||||
fg_console = blanked_fg;
|
||||
***************
|
||||
*** 1051,1056 ****
|
||||
--- 1064,1071 ----
|
||||
*/
|
||||
|
||||
int new_console, old_console;
|
||||
+ if (in_conwrite)
|
||||
+ return;
|
||||
|
||||
if (num >= NR_CONSOLES) return;
|
||||
|
||||
BIN
Linux-0.11/patchs/kybd.cdif.Z
Normal file
BIN
Linux-0.11/patchs/kybd.cdif.Z
Normal file
Binary file not shown.
BIN
Linux-0.11/patchs/lp.tar.Z
Normal file
BIN
Linux-0.11/patchs/lp.tar.Z
Normal file
Binary file not shown.
BIN
Linux-0.11/patchs/lvc.tar.Z
Normal file
BIN
Linux-0.11/patchs/lvc.tar.Z
Normal file
Binary file not shown.
BIN
Linux-0.11/patchs/mtools.tar.Z
Normal file
BIN
Linux-0.11/patchs/mtools.tar.Z
Normal file
Binary file not shown.
132
Linux-0.11/patchs/scsi.h
Normal file
132
Linux-0.11/patchs/scsi.h
Normal file
@@ -0,0 +1,132 @@
|
||||
|
||||
#ifndef __SCSI_H__
|
||||
#define __SCSI_H__
|
||||
/*
|
||||
For documentation on the OPCODES, MESSAGES, and SENSE values,
|
||||
please consult the SCSI standard.
|
||||
*/
|
||||
|
||||
/*
|
||||
SCSI opcodes
|
||||
*/
|
||||
|
||||
#define TEST_UNIT_READY 0x00
|
||||
#define REZERO_UNIT 0x01
|
||||
#define REQUEST_SENSE 0x03
|
||||
#define FORMAT_UNIT 0x04
|
||||
#define REASSIGN_BLOCKS 0x07
|
||||
#define READ_6 0x08
|
||||
#define WRITE_6 0x0a
|
||||
#define SEEK 0x0b
|
||||
#define INQUIRY 0x12
|
||||
#define MODE_SELECT 0x15
|
||||
#define RESERVE 0x16
|
||||
#define RELEASE 0x17
|
||||
#define COPY 0x18
|
||||
#define MODE_SENSE 0x1a
|
||||
#define START_STOP 0x1b
|
||||
#define RECIEVE_DAIGNOSTIC 0x1c
|
||||
#define SEND_DIAGNOSTIC 0x1d
|
||||
#define ALLOW_MEDIUM_REMOVAL 0x1e
|
||||
|
||||
#define READ_CAPACITY 0x25
|
||||
#define READ_10 0x28
|
||||
#define WRITE_10 0x2a
|
||||
#define SEEK_10 0x2b
|
||||
#define WRITE_VERIFY 0x2e
|
||||
#define VERIFY 0x2f
|
||||
#define SEARCH_HIGH 0x30
|
||||
#define SEARCH_EQUAL 0x31
|
||||
#define SEARCH_LOW 0x32
|
||||
#define SET_LIMITS 0x33
|
||||
#define COMPARE 0x39
|
||||
#define COPY_VERIFY 0x3a
|
||||
|
||||
/*
|
||||
MESSAGE CODES
|
||||
*/
|
||||
|
||||
#define COMMAND_COMPLETE 0x00
|
||||
#define EXTENDED_MESSAGE 0x01
|
||||
#define SAVE_POINTERS 0x02
|
||||
#define RESTORE_POINTERS 0x03
|
||||
#define DISCONNECT 0x04
|
||||
#define INITIATOR_ERROR 0x05
|
||||
#define ABORT 0x06
|
||||
#define MESAGE_REJECT 0x07
|
||||
#define NOP 0x08
|
||||
#define MSG_PARITY_ERROR 0x09
|
||||
#define LINKED_CMD_COMPLETE 0x0a
|
||||
#define LINKED_FLG_CMD_COMPLETE 0x0b
|
||||
#define BUS_DEVICE_RESET 0x0c
|
||||
#define IDENTIFY 0x80
|
||||
|
||||
/*
|
||||
Our errors returned by OUR driver, NOT SCSI message. Orr'd with
|
||||
SCSI message passed back to driver <IF any>.
|
||||
*/
|
||||
|
||||
/* NO error */
|
||||
#define DID_OK 0x0000
|
||||
/* Couldn't connect before timeout period */
|
||||
#define DID_NO_CONNECT 0x0100
|
||||
/* BUS stayed busy through time out period */
|
||||
#define DID_BUS_BUSY 0x0200
|
||||
/* TIMED OUT for other reason */
|
||||
#define DID_TIME_OUT 0x0300
|
||||
/* ERROR from TARGET */
|
||||
#define DID_TERROR 0x0400
|
||||
/* TARGET was busy */
|
||||
#define DID_TBUSY 0x0500
|
||||
/* TARGET disconnected prematurely */
|
||||
#define DID_TDISCONNECT 0x0600
|
||||
/* TARGET was off line */
|
||||
#define DID_TOFFLINE 0x0700
|
||||
/* TARGET wants US to send IT a message */
|
||||
#defibe DID_TREQ_MSG_OUT 0x0800
|
||||
/* TARGET parity error */
|
||||
#define DID_TPARITY 0x0900
|
||||
/* TARGET requested reselect */
|
||||
#define DID_TRESELECT 0x0A00
|
||||
/* TARGET was not in the range 0-6 inlclusive */
|
||||
#define DID_BAD_TARGET 0x0B00
|
||||
|
||||
/*
|
||||
SENSE KEYS
|
||||
*/
|
||||
|
||||
#define NO_SENSE 0x00
|
||||
#define RECOVERED_ERROR 0x01
|
||||
#define NOT_READY 0x02
|
||||
#define MEDIUM_ERROR 0x03
|
||||
#define HARDWARE_ERROR 0x04
|
||||
#define ILLEGAL_REQUEST 0x05
|
||||
#define UNIT_ATTENTION 0x06
|
||||
#define DATA_PROTECT 0x07
|
||||
#define BLANK_CHECK 0x08
|
||||
#define COPY_ABORTED 0x0a
|
||||
#define ABORTED_COMMAND 0x0b
|
||||
#define VOLUME_OVERFLOW 0x0d
|
||||
#define MISCOMPARE 0x0e
|
||||
|
||||
|
||||
/*
|
||||
DEVICE TYPES
|
||||
|
||||
*/
|
||||
|
||||
#define TYPE_DISK 0x00
|
||||
#define TYPE_TAPE 0x01
|
||||
#define TYPE_WORM 0x04 /* Treated as ROM by our system */
|
||||
#define TYPE_ROM 0x05
|
||||
#define TYPE_NO_LUN 0x7f
|
||||
/*
|
||||
Every SCSI command starts with a one byte OP-code.
|
||||
The next byte's high three bits are the LUN of the
|
||||
device. Any multi-byte quantities are stored high byte
|
||||
first, and may have a 5 bit MSB in the same byte
|
||||
as the LUN.
|
||||
*/
|
||||
|
||||
|
||||
#endif
|
||||
BIN
Linux-0.11/patchs/sel.tar.Z
Normal file
BIN
Linux-0.11/patchs/sel.tar.Z
Normal file
Binary file not shown.
BIN
Linux-0.11/patchs/slpat.Z
Normal file
BIN
Linux-0.11/patchs/slpat.Z
Normal file
Binary file not shown.
BIN
Linux-0.11/patchs/svga.tar.Z
Normal file
BIN
Linux-0.11/patchs/svga.tar.Z
Normal file
Binary file not shown.
39
Linux-0.11/patchs/tcapdif
Normal file
39
Linux-0.11/patchs/tcapdif
Normal file
@@ -0,0 +1,39 @@
|
||||
*** /A/etc/termcap Sun Dec 8 13:58:19 1991
|
||||
--- termcap Fri Dec 20 06:10:07 1991
|
||||
***************
|
||||
*** 52,54 ****
|
||||
--- 52,85 ----
|
||||
:it#8:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:\
|
||||
:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=\EM:vt#3:xn:\
|
||||
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
|
||||
+
|
||||
+ #
|
||||
+ # Now - like console, but with function keys
|
||||
+ #
|
||||
+ # Standard key code definitions:
|
||||
+ # ku,kd,kl,kr sent by up-, down-, left-, right-arrow
|
||||
+ # kb sent by backspace
|
||||
+ # k1..k9,k0 sent by function key 1..10
|
||||
+ # K1..5 sent by keypad upper left,upper right,centre,lower left,lower right
|
||||
+ # ka,kt,kB sent by clear-all-tabs,clear-tab,backtab
|
||||
+ # kT sent by set-tab-stop
|
||||
+ # kC,kE,kS sent by clear-screen,clear-to-eol,clear-to-eos
|
||||
+ # kD,kL sent by delete-character,delete-line
|
||||
+ # kh,kH sent by home,home-down
|
||||
+ # kI,kA sent by insert char/enter-insert-mode,insert-line
|
||||
+ # kM sent by exit-insert-mode
|
||||
+ # kN,kP sent by next-page,previous-page
|
||||
+ # kF,kR sent by scroll-forward,scroll-backwards
|
||||
+ memacs:\
|
||||
+ :do=^J:co#80:li#25:cl=\E[H\E[J:sf=\ED:\
|
||||
+ :le=^H:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
|
||||
+ :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\
|
||||
+ :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:is=\E[1;25r\E[25;1H:\
|
||||
+ :it#8:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:\
|
||||
+ :ho=\E[H:kP=\E[5~:kN=\E[6~:kH=\E[Y:kh=\E[H:kD=\E[3~:kI=\E[2~:\
|
||||
+ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[[F:\
|
||||
+ :k7=\E[[G:k8=\E[[H:k9=\E[[I:k0=\E[[J:\
|
||||
+ :K1=\E[[K:K2=\E[[L:\
|
||||
+ :pt:sr=\EM:vt#3:xn:\
|
||||
+ :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:\
|
||||
+ #
|
||||
39
Linux-0.11/patchs/termcap.diff
Normal file
39
Linux-0.11/patchs/termcap.diff
Normal file
@@ -0,0 +1,39 @@
|
||||
*** /A/etc/termcap Sun Dec 8 13:58:19 1991
|
||||
--- termcap Fri Dec 20 06:10:07 1991
|
||||
***************
|
||||
*** 52,54 ****
|
||||
--- 52,85 ----
|
||||
:it#8:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:\
|
||||
:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=\EM:vt#3:xn:\
|
||||
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
|
||||
+
|
||||
+ #
|
||||
+ # Now - like console, but with function keys
|
||||
+ #
|
||||
+ # Standard key code definitions:
|
||||
+ # ku,kd,kl,kr sent by up-, down-, left-, right-arrow
|
||||
+ # kb sent by backspace
|
||||
+ # k1..k9,k0 sent by function key 1..10
|
||||
+ # K1..5 sent by keypad upper left,upper right,centre,lower left,lower right
|
||||
+ # ka,kt,kB sent by clear-all-tabs,clear-tab,backtab
|
||||
+ # kT sent by set-tab-stop
|
||||
+ # kC,kE,kS sent by clear-screen,clear-to-eol,clear-to-eos
|
||||
+ # kD,kL sent by delete-character,delete-line
|
||||
+ # kh,kH sent by home,home-down
|
||||
+ # kI,kA sent by insert char/enter-insert-mode,insert-line
|
||||
+ # kM sent by exit-insert-mode
|
||||
+ # kN,kP sent by next-page,previous-page
|
||||
+ # kF,kR sent by scroll-forward,scroll-backwards
|
||||
+ memacs:\
|
||||
+ :do=^J:co#80:li#25:cl=\E[H\E[J:sf=\ED:\
|
||||
+ :le=^H:bs:am:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:\
|
||||
+ :ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\
|
||||
+ :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:is=\E[1;25r\E[25;1H:\
|
||||
+ :it#8:ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:kb=^H:\
|
||||
+ :ho=\E[H:kP=\E[5~:kN=\E[6~:kH=\E[Y:kh=\E[H:kD=\E[3~:kI=\E[2~:\
|
||||
+ :k1=\E[[A:k2=\E[[B:k3=\E[[C:k4=\E[[D:k5=\E[[E:k6=\E[[F:\
|
||||
+ :k7=\E[[G:k8=\E[[H:k9=\E[[I:k0=\E[[J:\
|
||||
+ :K1=\E[[K:K2=\E[[L:\
|
||||
+ :pt:sr=\EM:vt#3:xn:\
|
||||
+ :sc=\E7:rc=\E8:cs=\E[%i%d;%dr:\
|
||||
+ #
|
||||
2281
Linux-0.11/patchs/vc.shar
Normal file
2281
Linux-0.11/patchs/vc.shar
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user