swifi: various improvements
- no longer inject fewer faults than instructed; - no longer apply a limit on the number of injected faults; - refactory to allow for random faults (type 99); - also allow for stop faults (type 50); - massive dead code cleanup; - move outdated test cruft into tests/ subdirectory; it is kept only as an example of how to use swifi. Change-Id: I8a3cb71902dfaadb7bf785723b917307db83d0d5
This commit is contained in:
parent
32b187558b
commit
875abb8724
25 changed files with 294 additions and 2915 deletions
|
@ -3,9 +3,9 @@
|
|||
PROG= swifi
|
||||
SRCS= systest.c fault_model.c extra.c db_sym.c db_disasm.c \
|
||||
db_access.c read_nlist.c
|
||||
CPPFLAGS+= -DCONFIG_SWIFI
|
||||
DPADD+= ${LIBELF}
|
||||
LDADD+= -lelf
|
||||
MAN=
|
||||
|
||||
DPADD+= ${LIBELF}
|
||||
LDADD+= -lelf
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
|
|
@ -28,9 +28,6 @@
|
|||
* Instruction disassembler.
|
||||
*/
|
||||
|
||||
#if 0
|
||||
#include <linux/kernel.h>
|
||||
#endif
|
||||
#include "ddb.h"
|
||||
|
||||
#include "db_access.h"
|
||||
|
@ -861,12 +858,6 @@ static const int db_lengths[] = {
|
|||
result = db_get_value((loc), (size), (is_signed)); \
|
||||
(loc) += (size);
|
||||
|
||||
/*static db_addr_t
|
||||
// db_disasm_esc __P((db_addr_t loc, int inst, int short_addr,
|
||||
// int size, const char *seg));
|
||||
//static void db_print_address __P((const char *seg, int size,
|
||||
// struct i_addr *addrp));
|
||||
*/
|
||||
static db_addr_t
|
||||
db_read_address __P((db_addr_t loc, int short_addr,
|
||||
int regmodrm, struct i_addr *addrp));
|
||||
|
|
|
@ -28,15 +28,6 @@
|
|||
* Author: David B. Golub, Carnegie Mellon University
|
||||
* Date: 7/90
|
||||
*/
|
||||
#if 0
|
||||
//#include <sys/param.h>
|
||||
//#include <sys/systm.h>
|
||||
#endif
|
||||
#if 0
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#endif
|
||||
#include "ddb.h"
|
||||
#include "db_sym.h"
|
||||
#include "swifi.h"
|
||||
|
@ -49,276 +40,6 @@
|
|||
#ifndef MAXNOSYMTABS
|
||||
#define MAXNOSYMTABS 3 /* mach, ux, emulator */
|
||||
#endif
|
||||
#if 0
|
||||
|
||||
static db_symtab_t db_symtabs[MAXNOSYMTABS] = {{0,},};
|
||||
static int db_nsymtab = 0;
|
||||
|
||||
static db_symtab_t *db_last_symtab;
|
||||
|
||||
static db_sym_t db_lookup __P(( char *symstr));
|
||||
static char *db_qualify __P((db_sym_t sym, char *symtabname));
|
||||
static boolean_t db_symbol_is_ambiguous __P((db_sym_t sym));
|
||||
static boolean_t db_line_at_pc __P((db_sym_t, char **, int *,
|
||||
db_expr_t));
|
||||
|
||||
/*
|
||||
* Add symbol table, with given name, to list of symbol tables.
|
||||
*/
|
||||
void
|
||||
db_add_symbol_table(start, end, name, ref)
|
||||
char *start;
|
||||
char *end;
|
||||
char *name;
|
||||
char *ref;
|
||||
{
|
||||
if (db_nsymtab >= MAXNOSYMTABS) {
|
||||
printk ("No slots left for %s symbol table", name);
|
||||
panic ("db_sym.c: db_add_symbol_table");
|
||||
}
|
||||
|
||||
db_symtabs[db_nsymtab].start = start;
|
||||
db_symtabs[db_nsymtab].end = end;
|
||||
db_symtabs[db_nsymtab].name = name;
|
||||
db_symtabs[db_nsymtab].private = ref;
|
||||
db_nsymtab++;
|
||||
}
|
||||
|
||||
/*
|
||||
* db_qualify("vm_map", "ux") returns "unix:vm_map".
|
||||
*
|
||||
* Note: return value points to static data whose content is
|
||||
* overwritten by each call... but in practice this seems okay.
|
||||
*/
|
||||
static char *
|
||||
db_qualify(sym, symtabname)
|
||||
db_sym_t sym;
|
||||
register char *symtabname;
|
||||
{
|
||||
char *symname;
|
||||
static char tmp[256];
|
||||
|
||||
db_symbol_values(sym, &symname, 0);
|
||||
strcpy(tmp,symtabname);
|
||||
strcat(tmp,":");
|
||||
strcat(tmp,symname);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
|
||||
boolean_t
|
||||
db_eqname(src, dst, c)
|
||||
char *src;
|
||||
char *dst;
|
||||
char c;
|
||||
{
|
||||
if (!strcmp(src, dst))
|
||||
return (TRUE);
|
||||
if (src[0] == c)
|
||||
return (!strcmp(src+1,dst));
|
||||
return (FALSE);
|
||||
}
|
||||
|
||||
boolean_t
|
||||
db_value_of_name(name, valuep)
|
||||
char *name;
|
||||
db_expr_t *valuep;
|
||||
{
|
||||
db_sym_t sym;
|
||||
|
||||
sym = db_lookup(name);
|
||||
if (sym == DB_SYM_NULL)
|
||||
return (FALSE);
|
||||
db_symbol_values(sym, &name, valuep);
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Lookup a symbol.
|
||||
* If the symbol has a qualifier (e.g., ux:vm_map),
|
||||
* then only the specified symbol table will be searched;
|
||||
* otherwise, all symbol tables will be searched.
|
||||
*/
|
||||
static db_sym_t
|
||||
db_lookup(symstr)
|
||||
char *symstr;
|
||||
{
|
||||
db_sym_t sp;
|
||||
register int i;
|
||||
int symtab_start = 0;
|
||||
int symtab_end = db_nsymtab;
|
||||
register char *cp;
|
||||
|
||||
/*
|
||||
* Look for, remove, and remember any symbol table specifier.
|
||||
*/
|
||||
for (cp = symstr; *cp; cp++) {
|
||||
if (*cp == ':') {
|
||||
*cp = '\0';
|
||||
for (i = 0; i < db_nsymtab; i++) {
|
||||
if (! strcmp(symstr, db_symtabs[i].name)) {
|
||||
symtab_start = i;
|
||||
symtab_end = i + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
*cp = ':';
|
||||
if (i == db_nsymtab) {
|
||||
db_error("invalid symbol table name");
|
||||
}
|
||||
symstr = cp+1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Look in the specified set of symbol tables.
|
||||
* Return on first match.
|
||||
*/
|
||||
for (i = symtab_start; i < symtab_end; i++) {
|
||||
sp = X_db_lookup(&db_symtabs[i], symstr);
|
||||
if (sp) {
|
||||
db_last_symtab = &db_symtabs[i];
|
||||
return sp;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Does this symbol name appear in more than one symbol table?
|
||||
* Used by db_symbol_values to decide whether to qualify a symbol.
|
||||
*/
|
||||
static boolean_t db_qualify_ambiguous_names = FALSE;
|
||||
|
||||
static boolean_t
|
||||
db_symbol_is_ambiguous(sym)
|
||||
db_sym_t sym;
|
||||
{
|
||||
char *sym_name;
|
||||
register int i;
|
||||
register
|
||||
boolean_t found_once = FALSE;
|
||||
|
||||
if (!db_qualify_ambiguous_names)
|
||||
return FALSE;
|
||||
|
||||
db_symbol_values(sym, &sym_name, 0);
|
||||
for (i = 0; i < db_nsymtab; i++) {
|
||||
if (X_db_lookup(&db_symtabs[i], sym_name)) {
|
||||
if (found_once)
|
||||
return TRUE;
|
||||
found_once = TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the closest symbol to val, and return its name
|
||||
* and the difference between val and the symbol found.
|
||||
*/
|
||||
db_sym_t
|
||||
db_search_symbol( val, strategy, offp)
|
||||
register db_addr_t val;
|
||||
db_strategy_t strategy;
|
||||
db_expr_t *offp;
|
||||
{
|
||||
register
|
||||
unsigned int diff;
|
||||
unsigned int newdiff;
|
||||
register int i;
|
||||
db_sym_t ret = DB_SYM_NULL, sym;
|
||||
|
||||
newdiff = diff = ~0;
|
||||
db_last_symtab = 0;
|
||||
for (i = 0; i < db_nsymtab; i++) {
|
||||
sym = X_db_search_symbol(&db_symtabs[i], val, strategy, &newdiff);
|
||||
if (newdiff < diff) {
|
||||
db_last_symtab = &db_symtabs[i];
|
||||
diff = newdiff;
|
||||
ret = sym;
|
||||
}
|
||||
}
|
||||
*offp = diff;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return name and value of a symbol
|
||||
*/
|
||||
void
|
||||
db_symbol_values(sym, namep, valuep)
|
||||
db_sym_t sym;
|
||||
char **namep;
|
||||
db_expr_t *valuep;
|
||||
{
|
||||
db_expr_t value;
|
||||
|
||||
if (sym == DB_SYM_NULL) {
|
||||
*namep = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
X_db_symbol_values(sym, namep, &value);
|
||||
if (db_symbol_is_ambiguous(sym))
|
||||
*namep = db_qualify(sym, db_last_symtab->name);
|
||||
if (valuep)
|
||||
*valuep = value;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Print a the closest symbol to value
|
||||
*
|
||||
* After matching the symbol according to the given strategy
|
||||
* we print it in the name+offset format, provided the symbol's
|
||||
* value is close enough (eg smaller than db_maxoff).
|
||||
* We also attempt to print [filename:linenum] when applicable
|
||||
* (eg for procedure names).
|
||||
*
|
||||
* If we could not find a reasonable name+offset representation,
|
||||
* then we just print the value in hex. Small values might get
|
||||
* bogus symbol associations, e.g. 3 might get some absolute
|
||||
* value like _INCLUDE_VERSION or something, therefore we do
|
||||
* not accept symbols whose value is "small" (and use plain hex).
|
||||
*/
|
||||
|
||||
|
||||
void
|
||||
db_printsym(off, strategy)
|
||||
db_expr_t off;
|
||||
db_strategy_t strategy;
|
||||
{
|
||||
db_expr_t d;
|
||||
char *filename;
|
||||
char *name;
|
||||
db_expr_t value;
|
||||
int linenum;
|
||||
db_sym_t cursym;
|
||||
|
||||
cursym = db_search_symbol(off, strategy, &d);
|
||||
db_symbol_values(cursym, &name, &value);
|
||||
if (name == 0)
|
||||
value = off;
|
||||
if (value >= DB_SMALL_VALUE_MIN && value <= DB_SMALL_VALUE_MAX) {
|
||||
printk("0x%x", off);
|
||||
return;
|
||||
}
|
||||
if (name == 0 || d >= db_maxoff) {
|
||||
printk("0x%x", off);
|
||||
return;
|
||||
}
|
||||
printk("%s", name);
|
||||
if (d)
|
||||
printk("+0x%x", d);
|
||||
if (strategy == DB_STGY_PROC) {
|
||||
// if (db_line_at_pc(cursym, &filename, &linenum, off))
|
||||
// printk(" [%s:%d]", filename, linenum);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
unsigned int db_maxoff = 0x10000;
|
||||
unsigned long modAddr = 0;
|
||||
|
@ -438,7 +159,7 @@ find_faulty_instr(db_expr_t off, int type, int *instr_len)
|
|||
|
||||
found=1;
|
||||
break;
|
||||
} else if(type==NOP_FAULT) {
|
||||
} else if(type==NOP_FAULT || type==STOP_FAULT) {
|
||||
/* 5b) nop*: replace instruction with nop */
|
||||
if(cur_value> off) {
|
||||
found=1;
|
||||
|
@ -563,9 +284,6 @@ find_faulty_instr(db_expr_t off, int type, int *instr_len)
|
|||
if (d) printk("+0x%x", d);
|
||||
printk(" @ %x, ", value);
|
||||
printk("instr @ %x, len=%d, ", off, *instr_len);
|
||||
#if 0
|
||||
// db_disasm(prev_value, FALSE);
|
||||
#endif
|
||||
}
|
||||
return off;
|
||||
} else {
|
||||
|
@ -574,25 +292,3 @@ find_faulty_instr(db_expr_t off, int type, int *instr_len)
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
static boolean_t
|
||||
db_line_at_pc( sym, filename, linenum, pc)
|
||||
db_sym_t sym;
|
||||
char **filename;
|
||||
int *linenum;
|
||||
db_expr_t pc;
|
||||
{
|
||||
return X_db_line_at_pc( db_last_symtab, sym, filename, linenum, pc);
|
||||
}
|
||||
|
||||
int
|
||||
db_sym_numargs(sym, nargp, argnames)
|
||||
db_sym_t sym;
|
||||
int *nargp;
|
||||
char **argnames;
|
||||
{
|
||||
return X_db_sym_numargs(db_last_symtab, sym, nargp, argnames);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -19,45 +19,6 @@ char *victim_exe= NULL;
|
|||
static struct nlist *exe_nlist;
|
||||
static int exe_nlist_n;
|
||||
|
||||
/* unsigned long __get_free_page(int type) { assert(0); } */
|
||||
/* void *kmalloc(size_t size, int type) { assert(0); } */
|
||||
void free_page(unsigned long page) { assert(0); }
|
||||
/* void kfree(void *mem) { assert(0); } */
|
||||
void vfree(void *mem) { assert(0); }
|
||||
|
||||
size_t strncpy_from_user(char *addr, const char *user_name, size_t size)
|
||||
{ assert(0); return 0; }
|
||||
|
||||
/* void lock_kernel(void) { assert(0); } */
|
||||
/* void unlock_kernel(void) { assert(0); } */
|
||||
/* void __asm__(char *str) { assert(0); } */
|
||||
|
||||
extern void *__vmalloc(unsigned long size, int gfp_mask, pgprot_t prot)
|
||||
{ assert(0); return NULL; }
|
||||
|
||||
#if 0
|
||||
void kallsyms_sections(void *infop,
|
||||
int (*fp)(void *token, const char *modname, const char *secname,
|
||||
ElfW(Addr) secstart, ElfW(Addr) secend, ElfW(Word) secflags))
|
||||
{ assert(0); }
|
||||
#endif
|
||||
|
||||
unsigned long __generic_copy_to_user(void *x, const void *y, unsigned long z)
|
||||
{ assert(0); return -1; }
|
||||
unsigned long __generic_copy_from_user(void *x, const void *y, unsigned long z)
|
||||
{ assert(0); return -1; }
|
||||
|
||||
/* void read_lock(struct lock *lock) { assert(0); } */
|
||||
/* void read_unlock(struct lock *lock) { assert(0); } */
|
||||
void udelay(unsigned long usecs) { assert(0); }
|
||||
int copy_to_user(void * result_record, void *res, size_t size)
|
||||
{
|
||||
memcpy(result_record, res, size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void panic(char *str) { assert(0); }
|
||||
|
||||
void printk(char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
@ -96,16 +57,6 @@ int kallsyms_address_to_symbol(db_expr_t off,
|
|||
above= &exe_nlist[i];
|
||||
}
|
||||
}
|
||||
#if 0
|
||||
if (below)
|
||||
{
|
||||
printf("found '%s' at 0x%x\n", below->n_name, below->n_value);
|
||||
}
|
||||
if (above)
|
||||
{
|
||||
printf("found '%s' at 0x%x\n", above->n_name, above->n_value);
|
||||
}
|
||||
#endif
|
||||
|
||||
btext |= TRAP_BIT;
|
||||
etext |= TRAP_BIT;
|
||||
|
@ -129,10 +80,6 @@ int kallsyms_address_to_symbol(db_expr_t off,
|
|||
return 1;
|
||||
}
|
||||
|
||||
struct module *module_list;
|
||||
struct task_struct *task_list;
|
||||
struct lock tasklist_lock;
|
||||
|
||||
unsigned long text_read_ul(void *addr)
|
||||
{
|
||||
int i;
|
||||
|
|
|
@ -7,46 +7,6 @@ Compatibility with the linux kernel environment
|
|||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#if 0
|
||||
struct module
|
||||
{
|
||||
struct module *next;
|
||||
char *name;
|
||||
};
|
||||
extern struct module *module_list;
|
||||
#endif
|
||||
|
||||
struct thread
|
||||
{
|
||||
unsigned long esp;
|
||||
};
|
||||
|
||||
struct task_struct
|
||||
{
|
||||
struct thread thread;
|
||||
struct task_struct *next;
|
||||
};
|
||||
|
||||
unsigned long __get_free_page(int type);
|
||||
void *kmalloc(size_t size, int type);
|
||||
#define GFP_KERNEL 1
|
||||
void free_page(unsigned long page);
|
||||
void kfree(void *mem);
|
||||
void vfree(void *mem);
|
||||
|
||||
size_t strncpy_from_user(char *addr, const char *user_name, size_t size);
|
||||
|
||||
void lock_kernel(void);
|
||||
void unlock_kernel(void);
|
||||
|
||||
/* void __asm__(char *str); */
|
||||
|
||||
#define for_each_task(t) for(t= task_list; t; t=t->next)
|
||||
extern struct task_struct *task_list;
|
||||
|
||||
typedef struct { int foo; } pgprot_t;
|
||||
extern void *__vmalloc(unsigned long size, int gfp_mask, pgprot_t prot);
|
||||
|
||||
#define ElfW(type) Elf_ ## type
|
||||
typedef unsigned long Elf_Addr;
|
||||
typedef unsigned long Elf_Word;
|
||||
|
@ -55,25 +15,6 @@ void kallsyms_sections(void *infop,
|
|||
int (*fp)(void *token, const char *modname, const char *secname,
|
||||
ElfW(Addr) secstart, ElfW(Addr) secend, ElfW(Word) secflags));
|
||||
|
||||
unsigned long __generic_copy_to_user(void *, const void *, unsigned long);
|
||||
unsigned long __generic_copy_from_user(void *, const void *, unsigned long);
|
||||
|
||||
struct lock { int dummy; };
|
||||
extern struct lock tasklist_lock;
|
||||
void read_lock(struct lock *lock);
|
||||
void read_unlock(struct lock *lock);
|
||||
|
||||
void udelay(unsigned long usecs);
|
||||
|
||||
int copy_to_user(void * result_record, void *res, size_t size);
|
||||
|
||||
void panic(char *str);
|
||||
|
||||
#define PAGE_SIZE (0x1000)
|
||||
#define PAGE_MASK (0x0fff)
|
||||
#define PAGE_OFFSET 0 /* What does this do? */
|
||||
#define TASK_SIZE 0 /* What does this do? */
|
||||
|
||||
void printk(char *fmt, ...);
|
||||
|
||||
#include "ddb.h"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,71 +0,0 @@
|
|||
/*-
|
||||
* Copyright (c) 1992, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)random.c 8.1 (Berkeley) 6/10/93
|
||||
*/
|
||||
|
||||
#include "ddb.h"
|
||||
|
||||
static unsigned long randseed = 1;
|
||||
|
||||
void
|
||||
srandom(seed)
|
||||
unsigned long seed;
|
||||
{
|
||||
randseed = seed;
|
||||
}
|
||||
|
||||
/*
|
||||
* Pseudo-random number generator for randomizing the profiling clock,
|
||||
* and whatever else we might use it for. The result is uniform on
|
||||
* [0, 2^31 - 1].
|
||||
*/
|
||||
unsigned long
|
||||
random()
|
||||
{
|
||||
register long x, hi, lo, t;
|
||||
|
||||
/*
|
||||
* Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1).
|
||||
* From "Random number generators: good ones are hard to find",
|
||||
* Park and Miller, Communications of the ACM, vol. 31, no. 10,
|
||||
* October 1988, p. 1195.
|
||||
*/
|
||||
x = randseed;
|
||||
hi = x / 127773;
|
||||
lo = x % 127773;
|
||||
t = 16807 * lo - 2836 * hi;
|
||||
if (t <= 0)
|
||||
t += 0x7fffffff;
|
||||
randseed = t;
|
||||
return (t);
|
||||
}
|
|
@ -1,980 +0,0 @@
|
|||
diff -ruN linux/arch/i386/kernel/entry.S linux-nonooks/arch/i386/kernel/entry.S
|
||||
--- linux/arch/i386/kernel/entry.S 2002-02-25 14:37:53.000000000 -0500
|
||||
+++ linux-nonooks/arch/i386/kernel/entry.S 2005-01-12 15:30:51.000000000 -0500
|
||||
@@ -635,6 +635,61 @@
|
||||
.long SYMBOL_NAME(sys_ni_syscall) /* reserved for lremovexattr */
|
||||
.long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
|
||||
+#ifdef CONFIG_SWIFI
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 240 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 245 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 250 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 255 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 260 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 265 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 270 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 275 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 280 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_ni_syscall) /* 285 reserved for fremovexattr */
|
||||
+ .long SYMBOL_NAME(sys_inject_fault)
|
||||
+#endif /* CONFIG_SWIFI */
|
||||
+
|
||||
.rept NR_syscalls-(.-sys_call_table)/4
|
||||
.long SYMBOL_NAME(sys_ni_syscall)
|
||||
.endr
|
||||
+
|
||||
+
|
||||
diff -ruN linux/config-swifi linux-nonooks/config-swifi
|
||||
--- linux/config-swifi 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ linux-nonooks/config-swifi 2005-01-12 15:10:12.000000000 -0500
|
||||
@@ -0,0 +1,911 @@
|
||||
+#
|
||||
+# Automatically generated by make menuconfig: don't edit
|
||||
+#
|
||||
+CONFIG_X86=y
|
||||
+CONFIG_ISA=y
|
||||
+# CONFIG_SBUS is not set
|
||||
+CONFIG_UID16=y
|
||||
+
|
||||
+#
|
||||
+# Code maturity level options
|
||||
+#
|
||||
+CONFIG_EXPERIMENTAL=y
|
||||
+
|
||||
+#
|
||||
+# Loadable module support
|
||||
+#
|
||||
+CONFIG_MODULES=y
|
||||
+# CONFIG_MODVERSIONS is not set
|
||||
+CONFIG_KMOD=y
|
||||
+
|
||||
+#
|
||||
+# Processor type and features
|
||||
+#
|
||||
+# CONFIG_M386 is not set
|
||||
+# CONFIG_M486 is not set
|
||||
+# CONFIG_M586 is not set
|
||||
+# CONFIG_M586TSC is not set
|
||||
+# CONFIG_M586MMX is not set
|
||||
+# CONFIG_M686 is not set
|
||||
+CONFIG_MPENTIUMIII=y
|
||||
+# CONFIG_MPENTIUM4 is not set
|
||||
+# CONFIG_MK6 is not set
|
||||
+# CONFIG_MK7 is not set
|
||||
+# CONFIG_MELAN is not set
|
||||
+# CONFIG_MCRUSOE is not set
|
||||
+# CONFIG_MWINCHIPC6 is not set
|
||||
+# CONFIG_MWINCHIP2 is not set
|
||||
+# CONFIG_MWINCHIP3D is not set
|
||||
+# CONFIG_MCYRIXIII is not set
|
||||
+CONFIG_X86_WP_WORKS_OK=y
|
||||
+CONFIG_X86_INVLPG=y
|
||||
+CONFIG_X86_CMPXCHG=y
|
||||
+CONFIG_X86_XADD=y
|
||||
+CONFIG_X86_BSWAP=y
|
||||
+CONFIG_X86_POPAD_OK=y
|
||||
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
|
||||
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
+CONFIG_X86_L1_CACHE_SHIFT=5
|
||||
+CONFIG_X86_TSC=y
|
||||
+CONFIG_X86_GOOD_APIC=y
|
||||
+CONFIG_X86_PGE=y
|
||||
+CONFIG_X86_USE_PPRO_CHECKSUM=y
|
||||
+# CONFIG_TOSHIBA is not set
|
||||
+# CONFIG_I8K is not set
|
||||
+CONFIG_MICROCODE=y
|
||||
+CONFIG_X86_MSR=y
|
||||
+CONFIG_X86_CPUID=y
|
||||
+CONFIG_NOHIGHMEM=y
|
||||
+# CONFIG_HIGHMEM4G is not set
|
||||
+# CONFIG_HIGHMEM64G is not set
|
||||
+# CONFIG_MATH_EMULATION is not set
|
||||
+CONFIG_MTRR=y
|
||||
+# CONFIG_SMP is not set
|
||||
+# CONFIG_X86_UP_APIC is not set
|
||||
+# CONFIG_X86_UP_IOAPIC is not set
|
||||
+
|
||||
+#
|
||||
+# General setup
|
||||
+#
|
||||
+CONFIG_NET=y
|
||||
+CONFIG_PCI=y
|
||||
+# CONFIG_PCI_GOBIOS is not set
|
||||
+# CONFIG_PCI_GODIRECT is not set
|
||||
+CONFIG_PCI_GOANY=y
|
||||
+CONFIG_PCI_BIOS=y
|
||||
+CONFIG_PCI_DIRECT=y
|
||||
+CONFIG_PCI_NAMES=y
|
||||
+CONFIG_EISA=y
|
||||
+# CONFIG_MCA is not set
|
||||
+CONFIG_HOTPLUG=y
|
||||
+
|
||||
+#
|
||||
+# PCMCIA/CardBus support
|
||||
+#
|
||||
+# CONFIG_PCMCIA is not set
|
||||
+
|
||||
+#
|
||||
+# PCI Hotplug Support
|
||||
+#
|
||||
+# CONFIG_HOTPLUG_PCI is not set
|
||||
+# CONFIG_HOTPLUG_PCI_COMPAQ is not set
|
||||
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
|
||||
+CONFIG_SYSVIPC=y
|
||||
+CONFIG_BSD_PROCESS_ACCT=y
|
||||
+CONFIG_SYSCTL=y
|
||||
+CONFIG_KCORE_ELF=y
|
||||
+# CONFIG_KCORE_AOUT is not set
|
||||
+CONFIG_BINFMT_AOUT=y
|
||||
+CONFIG_BINFMT_ELF=y
|
||||
+# CONFIG_BINFMT_MISC is not set
|
||||
+CONFIG_PM=y
|
||||
+# CONFIG_ACPI is not set
|
||||
+CONFIG_APM=y
|
||||
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
|
||||
+# CONFIG_APM_DO_ENABLE is not set
|
||||
+CONFIG_APM_CPU_IDLE=y
|
||||
+# CONFIG_APM_DISPLAY_BLANK is not set
|
||||
+CONFIG_APM_RTC_IS_GMT=y
|
||||
+# CONFIG_APM_ALLOW_INTS is not set
|
||||
+# CONFIG_APM_REAL_MODE_POWER_OFF is not set
|
||||
+
|
||||
+#
|
||||
+# Memory Technology Devices (MTD)
|
||||
+#
|
||||
+# CONFIG_MTD is not set
|
||||
+
|
||||
+#
|
||||
+# Parallel port support
|
||||
+#
|
||||
+CONFIG_PARPORT=y
|
||||
+CONFIG_PARPORT_PC=y
|
||||
+CONFIG_PARPORT_PC_CML1=y
|
||||
+# CONFIG_PARPORT_SERIAL is not set
|
||||
+# CONFIG_PARPORT_PC_FIFO is not set
|
||||
+# CONFIG_PARPORT_PC_SUPERIO is not set
|
||||
+# CONFIG_PARPORT_AMIGA is not set
|
||||
+# CONFIG_PARPORT_MFC3 is not set
|
||||
+# CONFIG_PARPORT_ATARI is not set
|
||||
+# CONFIG_PARPORT_GSC is not set
|
||||
+# CONFIG_PARPORT_SUNBPP is not set
|
||||
+# CONFIG_PARPORT_OTHER is not set
|
||||
+CONFIG_PARPORT_1284=y
|
||||
+
|
||||
+#
|
||||
+# Plug and Play configuration
|
||||
+#
|
||||
+CONFIG_PNP=y
|
||||
+CONFIG_ISAPNP=y
|
||||
+
|
||||
+#
|
||||
+# Block devices
|
||||
+#
|
||||
+CONFIG_BLK_DEV_FD=y
|
||||
+# CONFIG_BLK_DEV_XD is not set
|
||||
+# CONFIG_PARIDE is not set
|
||||
+# CONFIG_BLK_CPQ_DA is not set
|
||||
+# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
+# CONFIG_BLK_DEV_DAC960 is not set
|
||||
+CONFIG_BLK_DEV_LOOP=y
|
||||
+CONFIG_BLK_DEV_NBD=y
|
||||
+# CONFIG_BLK_DEV_RAM is not set
|
||||
+# CONFIG_BLK_DEV_INITRD is not set
|
||||
+
|
||||
+#
|
||||
+# Multi-device support (RAID and LVM)
|
||||
+#
|
||||
+# CONFIG_MD is not set
|
||||
+# CONFIG_BLK_DEV_MD is not set
|
||||
+# CONFIG_MD_LINEAR is not set
|
||||
+# CONFIG_MD_RAID0 is not set
|
||||
+# CONFIG_MD_RAID1 is not set
|
||||
+# CONFIG_MD_RAID5 is not set
|
||||
+# CONFIG_MD_MULTIPATH is not set
|
||||
+# CONFIG_BLK_DEV_LVM is not set
|
||||
+
|
||||
+#
|
||||
+# Networking options
|
||||
+#
|
||||
+CONFIG_PACKET=y
|
||||
+CONFIG_PACKET_MMAP=y
|
||||
+CONFIG_NETLINK_DEV=y
|
||||
+CONFIG_NETFILTER=y
|
||||
+# CONFIG_NETFILTER_DEBUG is not set
|
||||
+CONFIG_FILTER=y
|
||||
+CONFIG_UNIX=y
|
||||
+CONFIG_INET=y
|
||||
+CONFIG_IP_MULTICAST=y
|
||||
+# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
+# CONFIG_IP_PNP is not set
|
||||
+# CONFIG_NET_IPIP is not set
|
||||
+# CONFIG_NET_IPGRE is not set
|
||||
+# CONFIG_IP_MROUTE is not set
|
||||
+# CONFIG_ARPD is not set
|
||||
+CONFIG_INET_ECN=y
|
||||
+CONFIG_SYN_COOKIES=y
|
||||
+
|
||||
+#
|
||||
+# IP: Netfilter Configuration
|
||||
+#
|
||||
+# CONFIG_IP_NF_CONNTRACK is not set
|
||||
+# CONFIG_IP_NF_QUEUE is not set
|
||||
+# CONFIG_IP_NF_IPTABLES is not set
|
||||
+# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
|
||||
+# CONFIG_IP_NF_COMPAT_IPFWADM is not set
|
||||
+# CONFIG_IPV6 is not set
|
||||
+CONFIG_KHTTPD=m
|
||||
+# CONFIG_ATM is not set
|
||||
+# CONFIG_VLAN_8021Q is not set
|
||||
+# CONFIG_IPX is not set
|
||||
+# CONFIG_ATALK is not set
|
||||
+# CONFIG_DECNET is not set
|
||||
+# CONFIG_BRIDGE is not set
|
||||
+# CONFIG_X25 is not set
|
||||
+# CONFIG_LAPB is not set
|
||||
+# CONFIG_LLC is not set
|
||||
+# CONFIG_NET_DIVERT is not set
|
||||
+# CONFIG_ECONET is not set
|
||||
+# CONFIG_WAN_ROUTER is not set
|
||||
+# CONFIG_NET_FASTROUTE is not set
|
||||
+# CONFIG_NET_HW_FLOWCONTROL is not set
|
||||
+
|
||||
+#
|
||||
+# QoS and/or fair queueing
|
||||
+#
|
||||
+# CONFIG_NET_SCHED is not set
|
||||
+
|
||||
+#
|
||||
+# Telephony Support
|
||||
+#
|
||||
+# CONFIG_PHONE is not set
|
||||
+# CONFIG_PHONE_IXJ is not set
|
||||
+# CONFIG_PHONE_IXJ_PCMCIA is not set
|
||||
+
|
||||
+#
|
||||
+# ATA/IDE/MFM/RLL support
|
||||
+#
|
||||
+CONFIG_IDE=y
|
||||
+
|
||||
+#
|
||||
+# IDE, ATA and ATAPI Block devices
|
||||
+#
|
||||
+CONFIG_BLK_DEV_IDE=y
|
||||
+# CONFIG_BLK_DEV_HD_IDE is not set
|
||||
+# CONFIG_BLK_DEV_HD is not set
|
||||
+CONFIG_BLK_DEV_IDEDISK=y
|
||||
+CONFIG_IDEDISK_MULTI_MODE=y
|
||||
+# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
|
||||
+# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
|
||||
+# CONFIG_BLK_DEV_IDEDISK_IBM is not set
|
||||
+# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
|
||||
+# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
|
||||
+# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
|
||||
+# CONFIG_BLK_DEV_IDEDISK_WD is not set
|
||||
+# CONFIG_BLK_DEV_COMMERIAL is not set
|
||||
+# CONFIG_BLK_DEV_TIVO is not set
|
||||
+# CONFIG_BLK_DEV_IDECS is not set
|
||||
+CONFIG_BLK_DEV_IDECD=y
|
||||
+# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
|
||||
+# CONFIG_BLK_DEV_IDESCSI is not set
|
||||
+CONFIG_BLK_DEV_CMD640=y
|
||||
+# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
|
||||
+CONFIG_BLK_DEV_ISAPNP=y
|
||||
+CONFIG_BLK_DEV_RZ1000=y
|
||||
+CONFIG_BLK_DEV_IDEPCI=y
|
||||
+CONFIG_IDEPCI_SHARE_IRQ=y
|
||||
+CONFIG_BLK_DEV_IDEDMA_PCI=y
|
||||
+CONFIG_BLK_DEV_ADMA=y
|
||||
+# CONFIG_BLK_DEV_OFFBOARD is not set
|
||||
+CONFIG_IDEDMA_PCI_AUTO=y
|
||||
+CONFIG_BLK_DEV_IDEDMA=y
|
||||
+# CONFIG_IDEDMA_PCI_WIP is not set
|
||||
+# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
|
||||
+CONFIG_BLK_DEV_AEC62XX=y
|
||||
+CONFIG_AEC62XX_TUNING=y
|
||||
+CONFIG_BLK_DEV_ALI15X3=y
|
||||
+# CONFIG_WDC_ALI15X3 is not set
|
||||
+CONFIG_BLK_DEV_AMD74XX=y
|
||||
+# CONFIG_AMD74XX_OVERRIDE is not set
|
||||
+CONFIG_BLK_DEV_CMD64X=y
|
||||
+CONFIG_BLK_DEV_CY82C693=y
|
||||
+CONFIG_BLK_DEV_CS5530=y
|
||||
+CONFIG_BLK_DEV_HPT34X=y
|
||||
+# CONFIG_HPT34X_AUTODMA is not set
|
||||
+CONFIG_BLK_DEV_HPT366=y
|
||||
+CONFIG_BLK_DEV_PIIX=y
|
||||
+CONFIG_PIIX_TUNING=y
|
||||
+# CONFIG_BLK_DEV_NS87415 is not set
|
||||
+# CONFIG_BLK_DEV_OPTI621 is not set
|
||||
+CONFIG_BLK_DEV_PDC202XX=y
|
||||
+# CONFIG_PDC202XX_BURST is not set
|
||||
+CONFIG_PDC202XX_FORCE=y
|
||||
+CONFIG_BLK_DEV_SVWKS=y
|
||||
+CONFIG_BLK_DEV_SIS5513=y
|
||||
+CONFIG_BLK_DEV_SLC90E66=y
|
||||
+# CONFIG_BLK_DEV_TRM290 is not set
|
||||
+CONFIG_BLK_DEV_VIA82CXXX=y
|
||||
+# CONFIG_IDE_CHIPSETS is not set
|
||||
+CONFIG_IDEDMA_AUTO=y
|
||||
+# CONFIG_IDEDMA_IVB is not set
|
||||
+# CONFIG_DMA_NONPCI is not set
|
||||
+CONFIG_BLK_DEV_IDE_MODES=y
|
||||
+# CONFIG_BLK_DEV_ATARAID is not set
|
||||
+# CONFIG_BLK_DEV_ATARAID_PDC is not set
|
||||
+# CONFIG_BLK_DEV_ATARAID_HPT is not set
|
||||
+
|
||||
+#
|
||||
+# SCSI support
|
||||
+#
|
||||
+# CONFIG_SCSI is not set
|
||||
+
|
||||
+#
|
||||
+# Fusion MPT device support
|
||||
+#
|
||||
+# CONFIG_FUSION is not set
|
||||
+# CONFIG_FUSION_BOOT is not set
|
||||
+# CONFIG_FUSION_ISENSE is not set
|
||||
+# CONFIG_FUSION_CTL is not set
|
||||
+# CONFIG_FUSION_LAN is not set
|
||||
+
|
||||
+#
|
||||
+# IEEE 1394 (FireWire) support (EXPERIMENTAL)
|
||||
+#
|
||||
+# CONFIG_IEEE1394 is not set
|
||||
+
|
||||
+#
|
||||
+# I2O device support
|
||||
+#
|
||||
+# CONFIG_I2O is not set
|
||||
+# CONFIG_I2O_PCI is not set
|
||||
+# CONFIG_I2O_BLOCK is not set
|
||||
+# CONFIG_I2O_LAN is not set
|
||||
+# CONFIG_I2O_SCSI is not set
|
||||
+# CONFIG_I2O_PROC is not set
|
||||
+
|
||||
+#
|
||||
+# Network device support
|
||||
+#
|
||||
+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 is not set
|
||||
+# CONFIG_ETHERTAP is not set
|
||||
+# CONFIG_NET_SB1000 is not set
|
||||
+
|
||||
+#
|
||||
+# Ethernet (10 or 100Mbit)
|
||||
+#
|
||||
+CONFIG_NET_ETHERNET=y
|
||||
+# CONFIG_SUNLANCE is not set
|
||||
+# CONFIG_HAPPYMEAL is not set
|
||||
+# CONFIG_SUNBMAC is not set
|
||||
+# CONFIG_SUNQE is not set
|
||||
+# CONFIG_SUNGEM is not set
|
||||
+CONFIG_NET_VENDOR_3COM=y
|
||||
+# CONFIG_EL1 is not set
|
||||
+# CONFIG_EL2 is not set
|
||||
+# CONFIG_ELPLUS is not set
|
||||
+# CONFIG_EL16 is not set
|
||||
+# CONFIG_EL3 is not set
|
||||
+# CONFIG_3C515 is not set
|
||||
+# CONFIG_ELMC is not set
|
||||
+# CONFIG_ELMC_II is not set
|
||||
+CONFIG_VORTEX=m
|
||||
+CONFIG_LANCE=m
|
||||
+# CONFIG_NET_VENDOR_SMC is not set
|
||||
+# CONFIG_NET_VENDOR_RACAL is not set
|
||||
+# CONFIG_AT1700 is not set
|
||||
+# CONFIG_DEPCA is not set
|
||||
+# CONFIG_HP100 is not set
|
||||
+# CONFIG_NET_ISA is not set
|
||||
+CONFIG_NET_PCI=y
|
||||
+CONFIG_PCNET32=m
|
||||
+# CONFIG_ADAPTEC_STARFIRE is not set
|
||||
+# CONFIG_AC3200 is not set
|
||||
+# CONFIG_APRICOT is not set
|
||||
+# CONFIG_CS89x0 is not set
|
||||
+CONFIG_TULIP=m
|
||||
+# CONFIG_TULIP_MWI is not set
|
||||
+# CONFIG_TULIP_MMIO is not set
|
||||
+# CONFIG_DE4X5 is not set
|
||||
+# CONFIG_DGRS is not set
|
||||
+# CONFIG_DM9102 is not set
|
||||
+CONFIG_EEPRO100=m
|
||||
+# CONFIG_LNE390 is not set
|
||||
+# CONFIG_FEALNX is not set
|
||||
+# CONFIG_NATSEMI is not set
|
||||
+# CONFIG_NE2K_PCI is not set
|
||||
+# CONFIG_NE3210 is not set
|
||||
+# CONFIG_ES3210 is not set
|
||||
+# CONFIG_8139CP is not set
|
||||
+# CONFIG_8139TOO is not set
|
||||
+# CONFIG_8139TOO_PIO is not set
|
||||
+# CONFIG_8139TOO_TUNE_TWISTER is not set
|
||||
+# CONFIG_8139TOO_8129 is not set
|
||||
+# CONFIG_8139_NEW_RX_RESET is not set
|
||||
+# CONFIG_SIS900 is not set
|
||||
+# CONFIG_EPIC100 is not set
|
||||
+# CONFIG_SUNDANCE is not set
|
||||
+# CONFIG_TLAN is not set
|
||||
+# CONFIG_VIA_RHINE is not set
|
||||
+# CONFIG_VIA_RHINE_MMIO is not set
|
||||
+# CONFIG_WINBOND_840 is not set
|
||||
+# CONFIG_NET_POCKET is not set
|
||||
+
|
||||
+#
|
||||
+# Ethernet (1000 Mbit)
|
||||
+#
|
||||
+# CONFIG_ACENIC is not set
|
||||
+# CONFIG_DL2K is not set
|
||||
+# CONFIG_MYRI_SBUS is not set
|
||||
+# CONFIG_NS83820 is not set
|
||||
+# CONFIG_HAMACHI is not set
|
||||
+# CONFIG_YELLOWFIN is not set
|
||||
+# CONFIG_SK98LIN is not set
|
||||
+# CONFIG_FDDI is not set
|
||||
+# CONFIG_HIPPI is not set
|
||||
+# CONFIG_PLIP 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
|
||||
+#
|
||||
+# CONFIG_TR is not set
|
||||
+# CONFIG_NET_FC is not set
|
||||
+# CONFIG_RCPCI is not set
|
||||
+# CONFIG_SHAPER is not set
|
||||
+
|
||||
+#
|
||||
+# Wan interfaces
|
||||
+#
|
||||
+# CONFIG_WAN is not set
|
||||
+
|
||||
+#
|
||||
+# Amateur Radio support
|
||||
+#
|
||||
+# CONFIG_HAMRADIO is not set
|
||||
+
|
||||
+#
|
||||
+# IrDA (infrared) support
|
||||
+#
|
||||
+# CONFIG_IRDA is not set
|
||||
+
|
||||
+#
|
||||
+# ISDN subsystem
|
||||
+#
|
||||
+# CONFIG_ISDN is not set
|
||||
+
|
||||
+#
|
||||
+# Old CD-ROM drivers (not SCSI, not IDE)
|
||||
+#
|
||||
+# CONFIG_CD_NO_IDESCSI is not set
|
||||
+
|
||||
+#
|
||||
+# Input core support
|
||||
+#
|
||||
+CONFIG_INPUT=m
|
||||
+CONFIG_INPUT_KEYBDEV=m
|
||||
+CONFIG_INPUT_MOUSEDEV=m
|
||||
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||||
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
+# CONFIG_INPUT_JOYDEV is not set
|
||||
+CONFIG_INPUT_EVDEV=m
|
||||
+
|
||||
+#
|
||||
+# Character devices
|
||||
+#
|
||||
+CONFIG_VT=y
|
||||
+CONFIG_VT_CONSOLE=y
|
||||
+CONFIG_SERIAL=y
|
||||
+CONFIG_SERIAL_CONSOLE=y
|
||||
+CONFIG_SERIAL_EXTENDED=y
|
||||
+CONFIG_SERIAL_MANY_PORTS=y
|
||||
+CONFIG_SERIAL_SHARE_IRQ=y
|
||||
+# CONFIG_SERIAL_DETECT_IRQ is not set
|
||||
+CONFIG_SERIAL_MULTIPORT=y
|
||||
+# CONFIG_HUB6 is not set
|
||||
+# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
+CONFIG_UNIX98_PTYS=y
|
||||
+CONFIG_UNIX98_PTY_COUNT=2048
|
||||
+CONFIG_PRINTER=m
|
||||
+CONFIG_LP_CONSOLE=y
|
||||
+CONFIG_PPDEV=y
|
||||
+
|
||||
+#
|
||||
+# I2C support
|
||||
+#
|
||||
+# CONFIG_I2C is not set
|
||||
+
|
||||
+#
|
||||
+# Mice
|
||||
+#
|
||||
+CONFIG_BUSMOUSE=m
|
||||
+CONFIG_ATIXL_BUSMOUSE=m
|
||||
+CONFIG_LOGIBUSMOUSE=m
|
||||
+CONFIG_MS_BUSMOUSE=m
|
||||
+CONFIG_MOUSE=y
|
||||
+CONFIG_PSMOUSE=y
|
||||
+CONFIG_82C710_MOUSE=m
|
||||
+CONFIG_PC110_PAD=m
|
||||
+
|
||||
+#
|
||||
+# Joysticks
|
||||
+#
|
||||
+# CONFIG_INPUT_GAMEPORT is not set
|
||||
+# CONFIG_INPUT_NS558 is not set
|
||||
+# CONFIG_INPUT_LIGHTNING is not set
|
||||
+# CONFIG_INPUT_PCIGAME is not set
|
||||
+# CONFIG_INPUT_CS461X is not set
|
||||
+# CONFIG_INPUT_EMU10K1 is not set
|
||||
+# CONFIG_INPUT_SERIO is not set
|
||||
+# CONFIG_INPUT_SERPORT is not set
|
||||
+# CONFIG_INPUT_ANALOG is not set
|
||||
+# CONFIG_INPUT_A3D is not set
|
||||
+# CONFIG_INPUT_ADI is not set
|
||||
+# CONFIG_INPUT_COBRA is not set
|
||||
+# CONFIG_INPUT_GF2K is not set
|
||||
+# CONFIG_INPUT_GRIP is not set
|
||||
+# CONFIG_INPUT_INTERACT is not set
|
||||
+# CONFIG_INPUT_TMDC is not set
|
||||
+# CONFIG_INPUT_SIDEWINDER is not set
|
||||
+# CONFIG_INPUT_IFORCE_USB is not set
|
||||
+# CONFIG_INPUT_IFORCE_232 is not set
|
||||
+# CONFIG_INPUT_WARRIOR is not set
|
||||
+# CONFIG_INPUT_MAGELLAN is not set
|
||||
+# CONFIG_INPUT_SPACEORB is not set
|
||||
+# CONFIG_INPUT_SPACEBALL is not set
|
||||
+# CONFIG_INPUT_STINGER is not set
|
||||
+# CONFIG_INPUT_DB9 is not set
|
||||
+# CONFIG_INPUT_GAMECON is not set
|
||||
+# CONFIG_INPUT_TURBOGRAFX is not set
|
||||
+# CONFIG_QIC02_TAPE is not set
|
||||
+
|
||||
+#
|
||||
+# Watchdog Cards
|
||||
+#
|
||||
+# CONFIG_WATCHDOG is not set
|
||||
+CONFIG_INTEL_RNG=m
|
||||
+# CONFIG_NVRAM is not set
|
||||
+CONFIG_RTC=y
|
||||
+CONFIG_DTLK=y
|
||||
+# CONFIG_R3964 is not set
|
||||
+# CONFIG_APPLICOM is not set
|
||||
+# CONFIG_SONYPI is not set
|
||||
+
|
||||
+#
|
||||
+# Ftape, the floppy tape device driver
|
||||
+#
|
||||
+# CONFIG_FTAPE is not set
|
||||
+CONFIG_AGP=m
|
||||
+CONFIG_AGP_INTEL=y
|
||||
+CONFIG_AGP_I810=y
|
||||
+CONFIG_AGP_VIA=y
|
||||
+CONFIG_AGP_AMD=y
|
||||
+CONFIG_AGP_SIS=y
|
||||
+CONFIG_AGP_ALI=y
|
||||
+CONFIG_AGP_SWORKS=y
|
||||
+CONFIG_DRM=y
|
||||
+# CONFIG_DRM_OLD is not set
|
||||
+CONFIG_DRM_NEW=y
|
||||
+CONFIG_DRM_TDFX=y
|
||||
+CONFIG_DRM_R128=m
|
||||
+CONFIG_DRM_RADEON=m
|
||||
+CONFIG_DRM_I810=m
|
||||
+CONFIG_DRM_MGA=m
|
||||
+# CONFIG_DRM_SIS is not set
|
||||
+# CONFIG_MWAVE is not set
|
||||
+
|
||||
+#
|
||||
+# Multimedia devices
|
||||
+#
|
||||
+# CONFIG_VIDEO_DEV is not set
|
||||
+
|
||||
+#
|
||||
+# File systems
|
||||
+#
|
||||
+CONFIG_QUOTA=y
|
||||
+CONFIG_AUTOFS_FS=y
|
||||
+CONFIG_AUTOFS4_FS=y
|
||||
+CONFIG_REISERFS_FS=m
|
||||
+# CONFIG_REISERFS_CHECK is not set
|
||||
+CONFIG_REISERFS_PROC_INFO=y
|
||||
+# CONFIG_ADFS_FS is not set
|
||||
+# CONFIG_ADFS_FS_RW is not set
|
||||
+# CONFIG_AFFS_FS is not set
|
||||
+# CONFIG_HFS_FS is not set
|
||||
+# CONFIG_BFS_FS is not set
|
||||
+CONFIG_EXT3_FS=y
|
||||
+CONFIG_JBD=y
|
||||
+# CONFIG_JBD_DEBUG is not set
|
||||
+CONFIG_FAT_FS=m
|
||||
+CONFIG_MSDOS_FS=m
|
||||
+# CONFIG_UMSDOS_FS is not set
|
||||
+CONFIG_VFAT_FS=m
|
||||
+# CONFIG_EFS_FS is not set
|
||||
+# CONFIG_JFFS_FS is not set
|
||||
+# CONFIG_JFFS2_FS is not set
|
||||
+# CONFIG_CRAMFS is not set
|
||||
+CONFIG_TMPFS=y
|
||||
+CONFIG_RAMFS=m
|
||||
+CONFIG_ISO9660_FS=y
|
||||
+CONFIG_JOLIET=y
|
||||
+CONFIG_ZISOFS=y
|
||||
+# CONFIG_MINIX_FS is not set
|
||||
+# CONFIG_VXFS_FS is not set
|
||||
+# CONFIG_NTFS_FS is not set
|
||||
+# CONFIG_NTFS_RW is not set
|
||||
+# CONFIG_HPFS_FS is not set
|
||||
+CONFIG_PROC_FS=y
|
||||
+# CONFIG_DEVFS_FS is not set
|
||||
+# CONFIG_DEVFS_MOUNT is not set
|
||||
+# CONFIG_DEVFS_DEBUG is not set
|
||||
+CONFIG_DEVPTS_FS=y
|
||||
+# CONFIG_QNX4FS_FS is not set
|
||||
+# CONFIG_QNX4FS_RW is not set
|
||||
+# CONFIG_ROMFS_FS is not set
|
||||
+CONFIG_EXT2_FS=y
|
||||
+# CONFIG_SYSV_FS is not set
|
||||
+# CONFIG_UDF_FS is not set
|
||||
+# CONFIG_UDF_RW is not set
|
||||
+# CONFIG_UFS_FS is not set
|
||||
+# CONFIG_UFS_FS_WRITE is not set
|
||||
+
|
||||
+#
|
||||
+# Network File Systems
|
||||
+#
|
||||
+# CONFIG_CODA_FS is not set
|
||||
+# CONFIG_INTERMEZZO_FS is not set
|
||||
+CONFIG_NFS_FS=y
|
||||
+CONFIG_NFS_V3=y
|
||||
+# CONFIG_ROOT_NFS is not set
|
||||
+CONFIG_NFSD=y
|
||||
+CONFIG_NFSD_V3=y
|
||||
+CONFIG_SUNRPC=y
|
||||
+CONFIG_LOCKD=y
|
||||
+CONFIG_LOCKD_V4=y
|
||||
+CONFIG_SMB_FS=m
|
||||
+# CONFIG_SMB_NLS_DEFAULT is not set
|
||||
+# CONFIG_NCP_FS is not set
|
||||
+# CONFIG_NCPFS_PACKET_SIGNING is not set
|
||||
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
|
||||
+# CONFIG_NCPFS_STRONG is not set
|
||||
+# CONFIG_NCPFS_NFS_NS is not set
|
||||
+# CONFIG_NCPFS_OS2_NS is not set
|
||||
+# CONFIG_NCPFS_SMALLDOS is not set
|
||||
+# CONFIG_NCPFS_NLS is not set
|
||||
+# CONFIG_NCPFS_EXTRAS is not set
|
||||
+CONFIG_ZISOFS_FS=y
|
||||
+CONFIG_ZLIB_FS_INFLATE=y
|
||||
+
|
||||
+#
|
||||
+# Partition Types
|
||||
+#
|
||||
+CONFIG_PARTITION_ADVANCED=y
|
||||
+# CONFIG_ACORN_PARTITION is not set
|
||||
+# CONFIG_OSF_PARTITION is not set
|
||||
+# CONFIG_AMIGA_PARTITION is not set
|
||||
+# CONFIG_ATARI_PARTITION is not set
|
||||
+# CONFIG_MAC_PARTITION is not set
|
||||
+CONFIG_MSDOS_PARTITION=y
|
||||
+CONFIG_BSD_DISKLABEL=y
|
||||
+# CONFIG_MINIX_SUBPARTITION is not set
|
||||
+# CONFIG_SOLARIS_X86_PARTITION is not set
|
||||
+# CONFIG_UNIXWARE_DISKLABEL is not set
|
||||
+# CONFIG_LDM_PARTITION is not set
|
||||
+# CONFIG_SGI_PARTITION is not set
|
||||
+# CONFIG_ULTRIX_PARTITION is not set
|
||||
+# CONFIG_SUN_PARTITION is not set
|
||||
+CONFIG_SMB_NLS=y
|
||||
+CONFIG_NLS=y
|
||||
+
|
||||
+#
|
||||
+# Native Language Support
|
||||
+#
|
||||
+CONFIG_NLS_DEFAULT="iso8859-1"
|
||||
+CONFIG_NLS_CODEPAGE_437=m
|
||||
+CONFIG_NLS_CODEPAGE_737=m
|
||||
+CONFIG_NLS_CODEPAGE_775=m
|
||||
+CONFIG_NLS_CODEPAGE_850=m
|
||||
+CONFIG_NLS_CODEPAGE_852=m
|
||||
+CONFIG_NLS_CODEPAGE_855=m
|
||||
+CONFIG_NLS_CODEPAGE_857=m
|
||||
+CONFIG_NLS_CODEPAGE_860=m
|
||||
+CONFIG_NLS_CODEPAGE_861=m
|
||||
+CONFIG_NLS_CODEPAGE_862=m
|
||||
+CONFIG_NLS_CODEPAGE_863=m
|
||||
+CONFIG_NLS_CODEPAGE_864=m
|
||||
+CONFIG_NLS_CODEPAGE_865=m
|
||||
+CONFIG_NLS_CODEPAGE_866=m
|
||||
+CONFIG_NLS_CODEPAGE_869=m
|
||||
+CONFIG_NLS_CODEPAGE_936=m
|
||||
+CONFIG_NLS_CODEPAGE_950=m
|
||||
+CONFIG_NLS_CODEPAGE_932=m
|
||||
+CONFIG_NLS_CODEPAGE_949=m
|
||||
+CONFIG_NLS_CODEPAGE_874=m
|
||||
+CONFIG_NLS_ISO8859_8=m
|
||||
+CONFIG_NLS_CODEPAGE_1250=m
|
||||
+CONFIG_NLS_CODEPAGE_1251=m
|
||||
+CONFIG_NLS_ISO8859_1=m
|
||||
+CONFIG_NLS_ISO8859_2=m
|
||||
+CONFIG_NLS_ISO8859_3=m
|
||||
+CONFIG_NLS_ISO8859_4=m
|
||||
+CONFIG_NLS_ISO8859_5=m
|
||||
+CONFIG_NLS_ISO8859_6=m
|
||||
+CONFIG_NLS_ISO8859_7=m
|
||||
+CONFIG_NLS_ISO8859_9=m
|
||||
+CONFIG_NLS_ISO8859_13=m
|
||||
+CONFIG_NLS_ISO8859_14=m
|
||||
+CONFIG_NLS_ISO8859_15=m
|
||||
+CONFIG_NLS_KOI8_R=m
|
||||
+CONFIG_NLS_KOI8_U=m
|
||||
+CONFIG_NLS_UTF8=m
|
||||
+
|
||||
+#
|
||||
+# Console drivers
|
||||
+#
|
||||
+CONFIG_VGA_CONSOLE=y
|
||||
+CONFIG_VIDEO_SELECT=y
|
||||
+CONFIG_MDA_CONSOLE=m
|
||||
+
|
||||
+#
|
||||
+# Frame-buffer support
|
||||
+#
|
||||
+CONFIG_FB=y
|
||||
+CONFIG_DUMMY_CONSOLE=y
|
||||
+# CONFIG_FB_RIVA is not set
|
||||
+# CONFIG_FB_CLGEN is not set
|
||||
+# CONFIG_FB_PM2 is not set
|
||||
+# CONFIG_FB_CYBER2000 is not set
|
||||
+CONFIG_FB_VESA=y
|
||||
+CONFIG_FB_VGA16=m
|
||||
+# CONFIG_FB_HGA is not set
|
||||
+CONFIG_VIDEO_SELECT=y
|
||||
+CONFIG_FB_MATROX=m
|
||||
+CONFIG_FB_MATROX_MILLENIUM=y
|
||||
+CONFIG_FB_MATROX_MYSTIQUE=y
|
||||
+CONFIG_FB_MATROX_G100=y
|
||||
+# CONFIG_FB_MATROX_G450 is not set
|
||||
+CONFIG_FB_MATROX_MULTIHEAD=y
|
||||
+CONFIG_FB_ATY=m
|
||||
+CONFIG_FB_ATY_GX=y
|
||||
+CONFIG_FB_ATY_CT=y
|
||||
+CONFIG_FB_RADEON=m
|
||||
+CONFIG_FB_ATY128=m
|
||||
+# CONFIG_FB_SIS is not set
|
||||
+# CONFIG_FB_3DFX is not set
|
||||
+# CONFIG_FB_VOODOO1 is not set
|
||||
+# CONFIG_FB_TRIDENT is not set
|
||||
+# CONFIG_FB_VIRTUAL is not set
|
||||
+# CONFIG_FBCON_ADVANCED is not set
|
||||
+CONFIG_FBCON_CFB8=y
|
||||
+CONFIG_FBCON_CFB16=y
|
||||
+CONFIG_FBCON_CFB24=y
|
||||
+CONFIG_FBCON_CFB32=y
|
||||
+CONFIG_FBCON_VGA_PLANES=m
|
||||
+# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
|
||||
+# CONFIG_FBCON_FONTS is not set
|
||||
+CONFIG_FONT_8x8=y
|
||||
+CONFIG_FONT_8x16=y
|
||||
+
|
||||
+#
|
||||
+# Sound
|
||||
+#
|
||||
+CONFIG_SOUND=m
|
||||
+# CONFIG_SOUND_BT878 is not set
|
||||
+# CONFIG_SOUND_CMPCI is not set
|
||||
+CONFIG_SOUND_EMU10K1=m
|
||||
+# CONFIG_MIDI_EMU10K1 is not set
|
||||
+# CONFIG_SOUND_FUSION is not set
|
||||
+# CONFIG_SOUND_CS4281 is not set
|
||||
+# CONFIG_SOUND_ES1370 is not set
|
||||
+CONFIG_SOUND_ES1371=m
|
||||
+# CONFIG_SOUND_ESSSOLO1 is not set
|
||||
+# CONFIG_SOUND_MAESTRO is not set
|
||||
+# CONFIG_SOUND_MAESTRO3 is not set
|
||||
+CONFIG_SOUND_ICH=m
|
||||
+# CONFIG_SOUND_RME96XX is not set
|
||||
+# CONFIG_SOUND_SONICVIBES is not set
|
||||
+# CONFIG_SOUND_TRIDENT is not set
|
||||
+# CONFIG_SOUND_MSNDCLAS is not set
|
||||
+# CONFIG_SOUND_MSNDPIN is not set
|
||||
+# CONFIG_SOUND_VIA82CXXX is not set
|
||||
+# CONFIG_MIDI_VIA82CXXX is not set
|
||||
+CONFIG_SOUND_OSS=m
|
||||
+# CONFIG_SOUND_TRACEINIT is not set
|
||||
+CONFIG_SOUND_DMAP=y
|
||||
+# CONFIG_SOUND_AD1816 is not set
|
||||
+# CONFIG_SOUND_SGALAXY is not set
|
||||
+# CONFIG_SOUND_ADLIB is not set
|
||||
+# CONFIG_SOUND_ACI_MIXER is not set
|
||||
+CONFIG_SOUND_CS4232=m
|
||||
+# CONFIG_SOUND_SSCAPE is not set
|
||||
+# CONFIG_SOUND_GUS is not set
|
||||
+# CONFIG_SOUND_VMIDI is not set
|
||||
+# CONFIG_SOUND_TRIX is not set
|
||||
+# CONFIG_SOUND_MSS is not set
|
||||
+# CONFIG_SOUND_MPU401 is not set
|
||||
+# CONFIG_SOUND_NM256 is not set
|
||||
+# CONFIG_SOUND_MAD16 is not set
|
||||
+# CONFIG_SOUND_PAS is not set
|
||||
+# CONFIG_PAS_JOYSTICK is not set
|
||||
+# CONFIG_SOUND_PSS is not set
|
||||
+CONFIG_SOUND_SB=m
|
||||
+# CONFIG_SOUND_AWE32_SYNTH is not set
|
||||
+# CONFIG_SOUND_WAVEFRONT is not set
|
||||
+# CONFIG_SOUND_MAUI is not set
|
||||
+# CONFIG_SOUND_YM3812 is not set
|
||||
+# CONFIG_SOUND_OPL3SA1 is not set
|
||||
+# CONFIG_SOUND_OPL3SA2 is not set
|
||||
+# CONFIG_SOUND_YMFPCI is not set
|
||||
+# CONFIG_SOUND_YMFPCI_LEGACY is not set
|
||||
+# CONFIG_SOUND_UART6850 is not set
|
||||
+# CONFIG_SOUND_AEDSP16 is not set
|
||||
+# CONFIG_SOUND_TVMIXER is not set
|
||||
+
|
||||
+#
|
||||
+# USB support
|
||||
+#
|
||||
+CONFIG_USB=y
|
||||
+# CONFIG_USB_DEBUG is not set
|
||||
+CONFIG_USB_DEVICEFS=y
|
||||
+# CONFIG_USB_BANDWIDTH is not set
|
||||
+CONFIG_USB_LONG_TIMEOUT=y
|
||||
+CONFIG_USB_UHCI=m
|
||||
+CONFIG_USB_UHCI_ALT=m
|
||||
+CONFIG_USB_OHCI=m
|
||||
+# CONFIG_USB_AUDIO is not set
|
||||
+CONFIG_USB_BLUETOOTH=y
|
||||
+# CONFIG_USB_STORAGE is not set
|
||||
+# CONFIG_USB_STORAGE_DEBUG is not set
|
||||
+# CONFIG_USB_STORAGE_DATAFAB is not set
|
||||
+# CONFIG_USB_STORAGE_FREECOM is not set
|
||||
+# CONFIG_USB_STORAGE_ISD200 is not set
|
||||
+# CONFIG_USB_STORAGE_DPCM is not set
|
||||
+# CONFIG_USB_STORAGE_HP8200e is not set
|
||||
+# CONFIG_USB_STORAGE_SDDR09 is not set
|
||||
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
|
||||
+# CONFIG_USB_ACM is not set
|
||||
+# CONFIG_USB_PRINTER is not set
|
||||
+CONFIG_USB_HID=m
|
||||
+CONFIG_USB_HIDDEV=y
|
||||
+# CONFIG_USB_KBD is not set
|
||||
+# CONFIG_USB_MOUSE is not set
|
||||
+CONFIG_USB_WACOM=m
|
||||
+# CONFIG_USB_DC2XX is not set
|
||||
+# CONFIG_USB_MDC800 is not set
|
||||
+# CONFIG_USB_SCANNER is not set
|
||||
+# CONFIG_USB_MICROTEK is not set
|
||||
+# CONFIG_USB_HPUSBSCSI is not set
|
||||
+# CONFIG_USB_PEGASUS is not set
|
||||
+# CONFIG_USB_KAWETH is not set
|
||||
+# CONFIG_USB_CATC is not set
|
||||
+# CONFIG_USB_CDCETHER is not set
|
||||
+# CONFIG_USB_USBNET is not set
|
||||
+# CONFIG_USB_USS720 is not set
|
||||
+
|
||||
+#
|
||||
+# USB Serial Converter support
|
||||
+#
|
||||
+# CONFIG_USB_SERIAL is not set
|
||||
+# CONFIG_USB_SERIAL_GENERIC is not set
|
||||
+# CONFIG_USB_SERIAL_BELKIN is not set
|
||||
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
|
||||
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
|
||||
+# CONFIG_USB_SERIAL_EMPEG is not set
|
||||
+# CONFIG_USB_SERIAL_FTDI_SIO is not set
|
||||
+# CONFIG_USB_SERIAL_VISOR is not set
|
||||
+# CONFIG_USB_SERIAL_IPAQ is not set
|
||||
+# CONFIG_USB_SERIAL_IR is not set
|
||||
+# CONFIG_USB_SERIAL_EDGEPORT is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
|
||||
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
|
||||
+# CONFIG_USB_SERIAL_MCT_U232 is not set
|
||||
+# CONFIG_USB_SERIAL_KLSI is not set
|
||||
+# CONFIG_USB_SERIAL_PL2303 is not set
|
||||
+# CONFIG_USB_SERIAL_CYBERJACK is not set
|
||||
+# CONFIG_USB_SERIAL_XIRCOM is not set
|
||||
+# CONFIG_USB_SERIAL_OMNINET is not set
|
||||
+# CONFIG_USB_RIO500 is not set
|
||||
+
|
||||
+#
|
||||
+# Bluetooth support
|
||||
+#
|
||||
+# CONFIG_BLUEZ is not set
|
||||
+
|
||||
+#
|
||||
+# Kernel hacking
|
||||
+#
|
||||
+CONFIG_DEBUG_KERNEL=y
|
||||
+# CONFIG_DEBUG_HIGHMEM is not set
|
||||
+# CONFIG_DEBUG_SLAB is not set
|
||||
+# CONFIG_DEBUG_IOVIRT is not set
|
||||
+CONFIG_MAGIC_SYSRQ=y
|
||||
+# CONFIG_DEBUG_SPINLOCK is not set
|
||||
+CONFIG_DEBUG_BUGVERBOSE=y
|
||||
+# CONFIG_KDB is not set
|
||||
+# CONFIG_KDB_MODULES is not set
|
||||
+CONFIG_KALLSYMS=y
|
||||
+CONFIG_FRAME_POINTER=y
|
||||
+CONFIG_SWIFI=y
|
||||
+CONFIG_NOOKS=y
|
|
@ -1,32 +0,0 @@
|
|||
/*
|
||||
* swifi-ksyms.c -- exported symbols for wrappers od system functions
|
||||
*
|
||||
* Copyright (C) 2003 Mike Swift
|
||||
*
|
||||
* The source code in this file can be freely used, adapted,
|
||||
* and redistributed in source or binary form, so long as an
|
||||
* acknowledgment appears in derived source files.
|
||||
* No warranty is attached;
|
||||
* we cannot take responsibility for errors or fitness for use.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include "swifi.h"
|
||||
|
||||
|
||||
EXPORT_SYMBOL(sys_inject_fault);
|
||||
|
||||
EXPORT_SYMBOL(swifi_memmove_fn);
|
||||
EXPORT_SYMBOL(swifi_memcpy_fn);
|
||||
EXPORT_SYMBOL(memmove_fn);
|
||||
EXPORT_SYMBOL(memcpy_fn);
|
||||
EXPORT_SYMBOL(swifi_kfree);
|
||||
EXPORT_SYMBOL(swifi_vfree);
|
||||
EXPORT_SYMBOL(swifi_kmalloc);
|
||||
EXPORT_SYMBOL(swifi___vmalloc);
|
||||
EXPORT_SYMBOL(swifi___generic_copy_from_user);
|
||||
EXPORT_SYMBOL(swifi___generic_copy_to_user);
|
||||
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#ifndef _SWIFI_USER_H
|
||||
#define _SWIFI_USER_H
|
||||
|
||||
|
||||
#define TEXT_FAULT 0
|
||||
#define STACK_FAULT 1
|
||||
#define HEAP_FAULT 2
|
||||
#define INIT_FAULT 3
|
||||
#define NOP_FAULT 4
|
||||
#define DST_FAULT 5
|
||||
#define SRC_FAULT 6
|
||||
#define BRANCH_FAULT 7
|
||||
#define PTR_FAULT 8
|
||||
#define FREE_FAULT 9
|
||||
#define BCOPY_FAULT 10
|
||||
#define SYNC_FAULT 11
|
||||
#define LOOP_FAULT 12
|
||||
#define MEM_LEAK_FAULT 13
|
||||
#define INTERFACE_FAULT 14
|
||||
#define DIRECT_FAULT 15
|
||||
#define DIRECT_FAULT1 16
|
||||
#define STATS 17
|
||||
#define WP_FAULT 19
|
||||
#define PANIC_FAULT 20
|
||||
#define WHILE1_FAULT 21
|
||||
#define DEBUGGER_FAULT 22
|
||||
#define CPU_RESET_FAULT 23
|
||||
#define PAGE_REG_DUMP 24
|
||||
#define COW_FAULT 25
|
||||
#define IRQ_FAULT 26
|
||||
#define ALLOC_FAULT 27
|
||||
#define DISK_TEST 100
|
||||
|
||||
|
||||
#define SWIFI_MAX_FAULTS 1000
|
||||
|
||||
typedef struct swifi_result {
|
||||
unsigned long address;
|
||||
unsigned long old;
|
||||
unsigned long new;
|
||||
} swifi_result_t, *pswifi_result_t;
|
||||
|
||||
long
|
||||
sys_inject_fault(char * module,
|
||||
unsigned long argFaultType,
|
||||
unsigned long argRandomSeed,
|
||||
unsigned long argNumFaults,
|
||||
pswifi_result_t result_record,
|
||||
unsigned long argInjectFault);
|
||||
|
||||
|
||||
#endif /* _SWIFI_USER_H */
|
||||
|
|
@ -1,64 +1,25 @@
|
|||
#ifndef _LINUX_SWIFI_H
|
||||
#define _LINUX_SWIFI_H
|
||||
#ifndef _SWIFI_H
|
||||
#define _SWIFI_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "swifi-user.h"
|
||||
|
||||
long
|
||||
swifi_inject_fault(char * nook_name,
|
||||
unsigned long faultType,
|
||||
unsigned long randSeed,
|
||||
unsigned long numFaults,
|
||||
void * results,
|
||||
unsigned long do_inject);
|
||||
|
||||
|
||||
long
|
||||
sys_inject_fault(char * module,
|
||||
unsigned long argFaultType,
|
||||
unsigned long argRandomSeed,
|
||||
unsigned long argNumFaults,
|
||||
pswifi_result_t result_record,
|
||||
unsigned long argInjectFault);
|
||||
#define TEXT_FAULT 0
|
||||
#define INIT_FAULT 3
|
||||
#define NOP_FAULT 4
|
||||
#define DST_FAULT 5
|
||||
#define SRC_FAULT 6
|
||||
#define BRANCH_FAULT 7
|
||||
#define PTR_FAULT 8
|
||||
#define LOOP_FAULT 12
|
||||
#define INTERFACE_FAULT 14
|
||||
#define IRQ_FAULT 26
|
||||
#define STOP_FAULT 50
|
||||
#define RANDOM_FAULT 99
|
||||
|
||||
void
|
||||
swifi_kfree(const void *addr);
|
||||
|
||||
|
||||
void
|
||||
swifi_vfree(void *addr);
|
||||
|
||||
|
||||
void *
|
||||
swifi_memmove_fn(void *to, void *from, size_t len);
|
||||
|
||||
|
||||
void *
|
||||
swifi_memcpy_fn(void *to, void *from, size_t len);
|
||||
|
||||
|
||||
void *
|
||||
memmove_fn(void *to, void *from, size_t len);
|
||||
|
||||
void *
|
||||
memcpy_fn(void *to, void *from, size_t len);
|
||||
|
||||
unsigned long
|
||||
swifi___generic_copy_from_user (void *kaddr, void *udaddr, unsigned long len);
|
||||
|
||||
unsigned long
|
||||
swifi___generic_copy_to_user(void *udaddr, void *kaddr, unsigned long len);
|
||||
|
||||
|
||||
void *
|
||||
swifi_kmalloc(size_t size, int flags);
|
||||
|
||||
|
||||
#if 0
|
||||
void *
|
||||
swifi___vmalloc(unsigned long size, int gfp_mask, pgprot_t prot);
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_SWIFI_H */
|
||||
swifi_inject_fault(char * module,
|
||||
unsigned long faultType,
|
||||
unsigned long randomSeed,
|
||||
unsigned long numFaults);
|
||||
|
||||
#endif /* _SWIFI_H */
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* The source code in this file can be freely used, adapted,
|
||||
* and redistributed in source or binary form, so long as an
|
||||
* acknowledgment appears in derived source files.
|
||||
* acknowledgment appears in derived source files.
|
||||
* No warranty is attached;
|
||||
* we cannot take responsibility for errors or fitness for use.
|
||||
*
|
||||
|
@ -14,47 +14,37 @@
|
|||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#if 0
|
||||
#include <asm/unistd.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#define swifi_inject_fault sys_inject_fault
|
||||
|
||||
#include "swifi-user.h"
|
||||
#include "swifi.h"
|
||||
#include "extra.h"
|
||||
|
||||
void
|
||||
usage(char *name)
|
||||
{
|
||||
printf("Usage: %s -f module_name pid fault-type fault-count seed\n", name);
|
||||
|
||||
#if 0
|
||||
_syscall6(long, swifi_inject_fault,
|
||||
char *, module_name,
|
||||
unsigned long, faultType,
|
||||
unsigned long, randSeed,
|
||||
unsigned long, numFaults,
|
||||
void *, result,
|
||||
unsigned long, do_inject);
|
||||
#endif
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char * argv[])
|
||||
{
|
||||
char * module_name = NULL;
|
||||
int i;
|
||||
long result = 0;
|
||||
unsigned int cmd = 0;
|
||||
unsigned long arg = 0;
|
||||
unsigned long seed = 157;
|
||||
swifi_result_t * res = NULL;
|
||||
|
||||
if (argc < 2) {
|
||||
goto Usage;
|
||||
usage(argv[0]);
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++ ) {
|
||||
if (strcmp(argv[i], "-f") == 0) {
|
||||
if (argc <= i+5) {
|
||||
goto Usage;
|
||||
usage(argv[0]);
|
||||
}
|
||||
module_name = victim_exe = argv[++i];
|
||||
sscanf(argv[++i],"%u", &victim_pid);
|
||||
|
@ -63,61 +53,15 @@ main(int argc, char * argv[])
|
|||
sscanf(argv[++i],"%lu", &seed);
|
||||
} else {
|
||||
printf("Unknown command %s\n", argv[i]);
|
||||
goto Usage;
|
||||
usage(argv[0]);
|
||||
}
|
||||
}
|
||||
size_t ressize = arg * sizeof(swifi_result_t);
|
||||
res = malloc(ressize);
|
||||
if (res == NULL) {
|
||||
printf("Out of memory\n");
|
||||
goto Cleanup;
|
||||
}
|
||||
|
||||
memset(res, 0, ressize);
|
||||
/* Do the injection. */
|
||||
swifi_inject_fault(module_name,
|
||||
cmd, /* fault type */
|
||||
seed, /* random seed */
|
||||
arg); /* numFaults */
|
||||
|
||||
/*
|
||||
// Find out where the faults will be injected
|
||||
*/
|
||||
|
||||
result = swifi_inject_fault(module_name,
|
||||
cmd, /* fault type */
|
||||
seed, /* random seed */
|
||||
arg, /* numFaults */
|
||||
res,
|
||||
0); /* don't inject now */
|
||||
|
||||
for (i = 0; (i < arg) && (res[i].address != 0) ; i++) {
|
||||
printf("Changed 0x%lx from 0x%lx to 0x%lx\n",
|
||||
res[i].address,
|
||||
res[i].old,
|
||||
res[i].new);
|
||||
}
|
||||
|
||||
/*
|
||||
// do the injection
|
||||
*/
|
||||
|
||||
|
||||
result = swifi_inject_fault(module_name,
|
||||
cmd, /* fault type */
|
||||
seed, /* random seed */
|
||||
arg, /* numFaults */
|
||||
res,
|
||||
1); /* do inject now */
|
||||
|
||||
printf("swifi_inject_fault returned %ld (%d)\n", result,errno);
|
||||
|
||||
|
||||
|
||||
Cleanup:
|
||||
if (res != NULL) {
|
||||
free(res);
|
||||
}
|
||||
return(0);
|
||||
|
||||
Usage:
|
||||
printf("Usage: %s -f module_name pid fault-type fault-count seed\n", argv[0]);
|
||||
goto Cleanup;
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
pid=`ps ax | grep fxp | grep usr.sbin | sed 's,^[ ]*,,;s,[ ].*,,`
|
||||
echo "pid = $pid"
|
||||
./swifi -f /usr/build/drivers/fxp/fxp $pid 26 100 4
|
||||
swifi -f /usr/build/drivers/fxp/fxp $pid 26 100 4
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
pid=`ps ax | grep fxp | grep usr.sbin | sed 's,^[ ]*,,;s,[ ].*,,`
|
||||
echo "pid = $pid"
|
||||
./swifi -f /usr/build/drivers/fxp/fxp $pid 8 100 4
|
||||
swifi -f /usr/build/drivers/fxp/fxp $pid 8 100 4
|
|
@ -4,8 +4,6 @@ rnd.c
|
|||
Generate random numbers
|
||||
*/
|
||||
|
||||
#define _POSIX_SOURCE
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
|
@ -27,7 +27,7 @@ do_one()
|
|||
sleep 10
|
||||
done
|
||||
echo pid = $pid
|
||||
./swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
||||
swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
||||
sleep 1
|
||||
kill -0 $pid &&
|
||||
echo "driver survived, params: test $1, count $2, seed $3" ||
|
|
@ -10,7 +10,7 @@ do_one()
|
|||
sleep 1
|
||||
done
|
||||
echo pid = $pid
|
||||
./swifi -f /usr/build/drivers/dp8390/dp8390 $pid $1 $2 $3 >/tmp/out
|
||||
swifi -f /usr/build/drivers/dp8390/dp8390 $pid $1 $2 $3 >/tmp/out
|
||||
sleep 5
|
||||
kill -0 $pid &&
|
||||
echo "driver failed to die, params: test $1, count $2, seed $3"
|
|
@ -26,7 +26,7 @@ do_one()
|
|||
sleep 10
|
||||
done
|
||||
echo pid = $pid
|
||||
./swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
||||
swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
||||
sleep 1
|
||||
kill -0 $pid &&
|
||||
echo "driver failed to die, params: test $1, count $2, seed $3"
|
||||
|
@ -94,7 +94,7 @@ text) type_arg=0
|
|||
;;
|
||||
nop) type_arg=4
|
||||
;;
|
||||
random)
|
||||
random)
|
||||
;;
|
||||
*)
|
||||
usage
|
|
@ -15,7 +15,7 @@ mv $LOGFILE $LOGFILE.prev
|
|||
kill -1 `ps ax | grep syslogd | grep -v grep |
|
||||
sed 's,^[ ]*,,;s,[ ].*,,'`
|
||||
|
||||
./run_t1 $count $type `expr $run \* 1000` 2>&1 |
|
||||
./run_t1 $count $type `expr $run \* 1000` 2>&1 |
|
||||
tee results/1.$type.$run.out
|
||||
|
||||
cp $LOGFILE results/1.$type.$run.log
|
|
@ -27,10 +27,10 @@ do_one()
|
|||
sleep 10
|
||||
done
|
||||
echo pid = $pid
|
||||
./swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
||||
swifi -f $EXE $pid $1 $2 $3 >/tmp/out
|
||||
sleep 1
|
||||
fault_blocks=`expr $fault_blocks + 1`
|
||||
if kill -0 $pid
|
||||
if kill -0 $pid
|
||||
then
|
||||
if [ $dont_connect -eq 0 ]
|
||||
then
|
||||
|
@ -114,7 +114,7 @@ text) type_arg=0
|
|||
;;
|
||||
nop) type_arg=4
|
||||
;;
|
||||
random)
|
||||
random)
|
||||
;;
|
||||
*)
|
||||
usage
|
|
@ -15,7 +15,7 @@ mv $LOGFILE $LOGFILE.prev
|
|||
kill -1 `ps ax | grep syslogd | grep -v grep |
|
||||
sed 's,^[ ]*,,;s,[ ].*,,'`
|
||||
|
||||
./run_t2 $count $type `expr $run \* 1000` 2>&1 |
|
||||
./run_t2 $count $type `expr $run \* 1000` 2>&1 |
|
||||
tee results/2.$type.$run.out
|
||||
|
||||
cp $LOGFILE results/2.$type.$run.log
|
|
@ -6,8 +6,6 @@ Created: Feb 2001 by Philip Homburg <philip@f-mnx.phicoh.com>
|
|||
Open a TCP connection
|
||||
*/
|
||||
|
||||
#define _POSIX_C_SOURCE 2
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdarg.h>
|
||||
|
@ -28,6 +26,7 @@ Open a TCP connection
|
|||
#include <net/gen/socket.h>
|
||||
#include <net/gen/tcp.h>
|
||||
#include <net/gen/tcp_io.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#define BUF_SIZE 10240
|
||||
|
||||
|
@ -118,7 +117,7 @@ static void do_conn(char *hostname, char *portname)
|
|||
nwio_tcpcl_t tcpcl;
|
||||
nwio_tcpopt_t tcpopt;
|
||||
|
||||
if (!inet_aton(hostname, &addr))
|
||||
if (!inet_aton(hostname, (struct in_addr *)&addr))
|
||||
{
|
||||
he= gethostbyname(hostname);
|
||||
if (he == NULL)
|
||||
|
@ -159,7 +158,8 @@ static void do_conn(char *hostname, char *portname)
|
|||
tcpcl.nwtcl_flags= 0;
|
||||
if (ioctl(tcpfd, NWIOTCPCONN, &tcpcl) == -1)
|
||||
{
|
||||
fatal("unable to connect to %s:%u: %s", inet_ntoa(addr),
|
||||
fatal("unable to connect to %s:%u: %s",
|
||||
inet_ntoa(*(struct in_addr *)&addr),
|
||||
ntohs(tcpconf.nwtc_remport), strerror(errno));
|
||||
}
|
||||
|
||||
|
@ -207,7 +207,7 @@ static void fullduplex(void)
|
|||
fatal("error reading from TCP conn.: %s",
|
||||
strerror(errno));
|
||||
}
|
||||
s= r;
|
||||
s= r;
|
||||
for (o= 0; o<s; o += r)
|
||||
{
|
||||
r= write(1, buf+o, s-o);
|
||||
|
@ -246,7 +246,7 @@ static void fullduplex(void)
|
|||
fatal("error reading from stdin: %s",
|
||||
strerror(s_errno));
|
||||
}
|
||||
s= r;
|
||||
s= r;
|
||||
for (o= 0; o<s; o += r)
|
||||
{
|
||||
r= write(tcpfd, buf+o, s-o);
|
Loading…
Reference in a new issue