You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(165) |
Sep
(240) |
Oct
(424) |
Nov
(526) |
Dec
(293) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(242) |
Feb
(149) |
Mar
(143) |
Apr
(143) |
May
(76) |
Jun
(59) |
Jul
(20) |
Aug
(2) |
Sep
(49) |
Oct
(1) |
Nov
(4) |
Dec
|
2003 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(72) |
Jul
(36) |
Aug
(9) |
Sep
(16) |
Oct
(23) |
Nov
(9) |
Dec
(3) |
2010 |
Jan
|
Feb
(1) |
Mar
(35) |
Apr
(44) |
May
(56) |
Jun
(71) |
Jul
(41) |
Aug
(41) |
Sep
(22) |
Oct
(3) |
Nov
(1) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(25) |
Oct
(105) |
Nov
(15) |
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Bradley D. L. <br...@us...> - 2001-09-07 18:43:44
|
Update of /cvsroot/linux-mips/linux/arch/mips/galileo-boards/ev96100 In directory usw-pr-cvs1:/tmp/cvs-serv28074/arch/mips/galileo-boards/ev96100 Modified Files: pci_fixups.c Log Message: Eliminate some whitespace-only diffs against oss. Index: pci_fixups.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/galileo-boards/ev96100/pci_fixups.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pci_fixups.c 2001/09/04 15:54:30 1.2 --- pci_fixups.c 2001/09/07 18:43:41 1.3 *************** *** 111,115 **** unsigned int pcibios_assign_all_busses(void) { ! return 0; } #endif --- 111,115 ---- unsigned int pcibios_assign_all_busses(void) { ! return 0; } #endif |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:43:44
|
Update of /cvsroot/linux-mips/linux/arch/mips/ddb5xxx/common In directory usw-pr-cvs1:/tmp/cvs-serv28074/arch/mips/ddb5xxx/common Modified Files: irq.c Log Message: Eliminate some whitespace-only diffs against oss. Index: irq.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/ddb5xxx/common/irq.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** irq.c 2001/09/07 18:21:54 1.2 --- irq.c 2001/09/07 18:43:40 1.3 *************** *** 19,34 **** void __init init_IRQ(void) { - #ifdef CONFIG_REMOTE_DEBUG ! extern void breakpoint(void); ! extern void set_debug_traps(void); ! printk("Wait for gdb client connection ...\n"); ! set_debug_traps(); ! breakpoint(); #endif ! /* invoke board-specific irq setup */ ! irq_setup(); } - --- 19,32 ---- void __init init_IRQ(void) { #ifdef CONFIG_REMOTE_DEBUG ! extern void breakpoint(void); ! extern void set_debug_traps(void); ! printk("Wait for gdb client connection ...\n"); ! set_debug_traps(); ! breakpoint(); #endif ! /* invoke board-specific irq setup */ ! irq_setup(); } |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/sgi/kernel In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/sgi/kernel Modified Files: indy_hpc.c Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: indy_hpc.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/sgi/kernel/indy_hpc.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** indy_hpc.c 2001/06/22 02:29:31 1.1.1.1 --- indy_hpc.c 2001/09/07 18:21:54 1.2 *************** *** 1,4 **** ! /* $Id$ ! * * indy_hpc.c: Routines for generic manipulation of the HPC controllers. * --- 1,3 ---- ! /* * indy_hpc.c: Routines for generic manipulation of the HPC controllers. * |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/kernel In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/kernel Modified Files: gdb-stub.c time.c Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: gdb-stub.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/gdb-stub.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gdb-stub.c 2001/07/09 19:28:47 1.2 --- gdb-stub.c 2001/09/07 18:21:54 1.3 *************** *** 12,17 **** * * Copyright (C) 1995 Andreas Busse - * - * $Id$ */ --- 12,15 ---- Index: time.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/time.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** time.c 2001/08/25 02:19:27 1.7 --- time.c 2001/09/07 18:21:54 1.8 *************** *** 3,7 **** * Author: Jun Sun, js...@mv... or js...@ju... * ! * Common time service routines for MIPS machines. See Documents/MIPS/time.txt. * * This program is free software; you can redistribute it and/or modify it --- 3,8 ---- * Author: Jun Sun, js...@mv... or js...@ju... * ! * Common time service routines for MIPS machines. See ! * Documents/MIPS/README.txt. * * This program is free software; you can redistribute it and/or modify it *************** *** 461,510 **** } ! /* ================================================== */ ! #define FEBRUARY 2 ! #define STARTOFTIME 1970 ! #define SECDAY 86400L ! #define SECYR (SECDAY * 365) ! #define leapyear(year) ((year) % 4 == 0) ! #define days_in_year(a) (leapyear(a) ? 366 : 365) ! #define days_in_month(a) (month_days[(a) - 1]) static int month_days[12] = { ! 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; void to_tm(unsigned long tim, struct rtc_time * tm) { ! register int i; ! register long hms, day; ! day = tim / SECDAY; ! hms = tim % SECDAY; ! /* Hours, minutes, seconds are easy */ ! tm->tm_hour = hms / 3600; ! tm->tm_min = (hms % 3600) / 60; ! tm->tm_sec = (hms % 3600) % 60; ! /* Number of years in days */ ! for (i = STARTOFTIME; day >= days_in_year(i); i++) ! day -= days_in_year(i); ! tm->tm_year = i; ! /* Number of months in days left */ ! if (leapyear(tm->tm_year)) ! days_in_month(FEBRUARY) = 29; ! for (i = 1; day >= days_in_month(i); i++) ! day -= days_in_month(i); ! days_in_month(FEBRUARY) = 28; ! tm->tm_mon = i; ! /* Days are what is left over (+1) from all that. */ ! tm->tm_mday = day + 1; ! /* ! * Determine the day of week ! */ ! tm->tm_wday = (day + 3) % 7; } - --- 462,509 ---- } ! #define FEBRUARY 2 ! #define STARTOFTIME 1970 ! #define SECDAY 86400L ! #define SECYR (SECDAY * 365) ! #define leapyear(year) ((year) % 4 == 0) ! #define days_in_year(a) (leapyear(a) ? 366 : 365) ! #define days_in_month(a) (month_days[(a) - 1]) static int month_days[12] = { ! 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; void to_tm(unsigned long tim, struct rtc_time * tm) { ! long hms, day, gday; ! int i; ! gday = day = tim / SECDAY; ! hms = tim % SECDAY; ! /* Hours, minutes, seconds are easy */ ! tm->tm_hour = hms / 3600; ! tm->tm_min = (hms % 3600) / 60; ! tm->tm_sec = (hms % 3600) % 60; ! /* Number of years in days */ ! for (i = STARTOFTIME; day >= days_in_year(i); i++) ! day -= days_in_year(i); ! tm->tm_year = i; ! /* Number of months in days left */ ! if (leapyear(tm->tm_year)) ! days_in_month(FEBRUARY) = 29; ! for (i = 1; day >= days_in_month(i); i++) ! day -= days_in_month(i); ! days_in_month(FEBRUARY) = 28; ! tm->tm_mon = i; ! /* Days are what is left over (+1) from all that. */ ! tm->tm_mday = day + 1; ! /* ! * Determine the day of week ! */ ! tm->tm_wday = (gday + 4) % 7; /* 1970/1/1 was Thursday */ } |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/gt64120/momenco_ocelot In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/gt64120/momenco_ocelot Modified Files: ocelot_pld.h Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: ocelot_pld.h =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/gt64120/momenco_ocelot/ocelot_pld.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** ocelot_pld.h 2001/06/22 02:29:32 1.1.1.1 --- ocelot_pld.h 2001/09/07 18:21:54 1.2 *************** *** 1,5 **** /* - * $Id$ - * * Ocelot Board Register Definitions * --- 1,3 ---- *************** *** 7,13 **** * * GPL'd - * */ - #ifndef __MOMENCO_OCELOT_PLD_H__ #define __MOMENCO_OCELOT_PLD_H__ --- 5,9 ---- |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/galileo-boards/ev64120/compressed In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/galileo-boards/ev64120/compressed Modified Files: sbdreset_evb64120A.S Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: sbdreset_evb64120A.S =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/galileo-boards/ev64120/compressed/sbdreset_evb64120A.S,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** sbdreset_evb64120A.S 2001/06/22 02:29:31 1.1.1.1 --- sbdreset_evb64120A.S 2001/09/07 18:21:54 1.2 *************** *** 1,13 **** - /* $Id$ */ /* ! ** Copyright 1997 Algorithmics Ltd ! ** All Rights Reserved ! ** ! ** gal9/sbdreset.sx -- low level board dependent routines ! */ #ifdef EVB64120A - //#include <mips.h> - //#include <pmon.h> #include <linux/config.h> --- 1,10 ---- /* ! * Copyright 1997 Algorithmics Ltd ! * All Rights Reserved ! * ! * gal9/sbdreset.sx -- low level board dependent routines ! */ #ifdef EVB64120A #include <linux/config.h> |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/galileo-boards/ev64120 In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/galileo-boards/ev64120 Modified Files: int-handler.S Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: int-handler.S =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/galileo-boards/ev64120/int-handler.S,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** int-handler.S 2001/06/22 02:29:31 1.1.1.1 --- int-handler.S 2001/09/07 18:21:54 1.2 *************** *** 2,10 **** * int-handler.S * ! * $Id$ ! * Based on the cobalt handler. ! * */ - #include <linux/config.h> #include <asm/asm.h> --- 2,7 ---- * int-handler.S * ! * Based on the cobalt handler. */ #include <linux/config.h> #include <asm/asm.h> *************** *** 14,22 **** #include <asm/stackframe.h> ! /******************************************************************** ! *galileo_handle_int - ! We check for the timer first, then check PCI ints A and D. ! Then check for serial IRQ and fall through. ! *********************************************************************/ .align 5 .set reorder --- 11,19 ---- #include <asm/stackframe.h> ! /* ! * galileo_handle_int - ! * We check for the timer first, then check PCI ints A and D. ! * Then check for serial IRQ and fall through. ! */ .align 5 .set reorder |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/dec/prom In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/dec/prom Modified Files: memory.c Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: memory.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/dec/prom/memory.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** memory.c 2001/06/22 02:29:31 1.1.1.1 --- memory.c 2001/09/07 18:21:54 1.2 *************** *** 4,9 **** * Copyright (C) 1998 Harald Koerfgen, Frieder Streffer and Paul M. Antoine * Copyright (C) 2000 Maciej W. Rozycki - * - * $Id$ */ #include <linux/init.h> --- 4,7 ---- |
From: Bradley D. L. <br...@us...> - 2001-09-07 18:21:56
|
Update of /cvsroot/linux-mips/linux/arch/mips/ddb5xxx/common In directory usw-pr-cvs1:/tmp/cvs-serv16247/arch/mips/ddb5xxx/common Modified Files: irq.c pci_auto.c Log Message: Eliminate some mostly (except for time.c) diffs against oss. Index: irq.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/ddb5xxx/common/irq.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** irq.c 2001/08/23 04:20:15 1.1 --- irq.c 2001/09/07 18:21:54 1.2 *************** *** 1,4 **** ! /*********************************************************************** ! * * Copyright 2001 MontaVista Software Inc. * Author: js...@mv... or js...@ju... --- 1,3 ---- ! /* * Copyright 2001 MontaVista Software Inc. * Author: js...@mv... or js...@ju... *************** *** 12,21 **** * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. - * - *********************************************************************** */ - #include <linux/config.h> ! #include <linux/init.h> /* for __init */ void (*irq_setup)(void); --- 11,17 ---- * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. */ #include <linux/config.h> ! #include <linux/init.h> void (*irq_setup)(void); Index: pci_auto.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/ddb5xxx/common/pci_auto.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** pci_auto.c 2001/06/22 02:29:31 1.1.1.1 --- pci_auto.c 2001/09/07 18:21:54 1.2 *************** *** 1,5 **** /* - * arch/ppc/kernel/pci_auto.c - * * PCI autoconfiguration library * --- 1,3 ---- |
From: James S. <jsi...@us...> - 2001-09-06 17:16:53
|
Update of /cvsroot/linux-mips/linux/arch/mips/kernel In directory usw-pr-cvs1:/tmp/cvs-serv6008 Modified Files: setup.c Log Message: Oops a nasty mistake that will not let it compile. Now fixed. Index: setup.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/setup.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** setup.c 2001/09/06 17:08:19 1.13 --- setup.c 2001/09/06 17:16:51 1.14 *************** *** 377,381 **** mips_cpu.scache.flags = MIPS_CACHE_NOT_PRESENT; break; - #endif default: mips_cpu.cputype = CPU_UNKNOWN; --- 377,380 ---- *************** *** 383,386 **** --- 382,386 ---- } break; + #endif case PRID_COMP_SIBYTE: switch (mips_cpu.processor_id & 0xff00) { |
From: James S. <jsi...@us...> - 2001-09-06 17:13:44
|
Update of /cvsroot/linux-mips/linux/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv4994/include/linux Added Files: module.h Log Message: Update exception handling in modules. --- NEW FILE: module.h --- /* * Dynamic loading of modules into the kernel. * * Rewritten by Richard Henderson <rt...@ta...> Dec 1996 */ #ifndef _LINUX_MODULE_H #define _LINUX_MODULE_H #include <linux/config.h> #include <linux/spinlock.h> #include <linux/list.h> #ifdef __GENKSYMS__ # define _set_ver(sym) sym # undef MODVERSIONS # define MODVERSIONS #else /* ! __GENKSYMS__ */ # if !defined(MODVERSIONS) && defined(EXPORT_SYMTAB) # define _set_ver(sym) sym # include <linux/modversions.h> # endif #endif /* __GENKSYMS__ */ #include <asm/atomic.h> /* Don't need to bring in all of uaccess.h just for this decl. */ struct exception_table_entry; /* Used by get_kernel_syms, which is obsolete. */ struct kernel_sym { unsigned long value; char name[60]; /* should have been 64-sizeof(long); oh well */ }; struct module_symbol { unsigned long value; const char *name; }; struct module_ref { struct module *dep; /* "parent" pointer */ struct module *ref; /* "child" pointer */ struct module_ref *next_ref; }; /* TBD */ struct module_persist; struct module { unsigned long size_of_struct; /* == sizeof(module) */ struct module *next; const char *name; unsigned long size; union { atomic_t usecount; long pad; } uc; /* Needs to keep its size - so says rth */ unsigned long flags; /* AUTOCLEAN et al */ unsigned nsyms; unsigned ndeps; struct module_symbol *syms; struct module_ref *deps; struct module_ref *refs; int (*init)(void); void (*cleanup)(void); const struct exception_table_entry *ex_table_start; const struct exception_table_entry *ex_table_end; #ifdef __alpha__ unsigned long gp; #endif /* Members past this point are extensions to the basic module support and are optional. Use mod_member_present() to examine them. */ const struct module_persist *persist_start; const struct module_persist *persist_end; int (*can_unload)(void); int runsize; /* In modutils, not currently used */ const char *kallsyms_start; /* All symbols for kernel debugging */ const char *kallsyms_end; const char *archdata_start; /* arch specific data for module */ const char *archdata_end; const char *kernel_data; /* Reserved for kernel internal use */ }; struct module_info { unsigned long addr; unsigned long size; unsigned long flags; long usecount; }; /* Bits of module.flags. */ #define MOD_UNINITIALIZED 0 #define MOD_RUNNING 1 #define MOD_DELETED 2 #define MOD_AUTOCLEAN 4 #define MOD_VISITED 8 #define MOD_USED_ONCE 16 #define MOD_JUST_FREED 32 #define MOD_INITIALIZING 64 /* Values for query_module's which. */ #define QM_MODULES 1 #define QM_DEPS 2 #define QM_REFS 3 #define QM_SYMBOLS 4 #define QM_INFO 5 /* Can the module be queried? */ #define MOD_CAN_QUERY(mod) (((mod)->flags & (MOD_RUNNING | MOD_INITIALIZING)) && !((mod)->flags & MOD_DELETED)) /* When struct module is extended, we must test whether the new member is present in the header received from insmod before we can use it. This function returns true if the member is present. */ #define mod_member_present(mod,member) \ ((unsigned long)(&((struct module *)0L)->member + 1) \ <= (mod)->size_of_struct) /* Check if an address p with number of entries n is within the body of module m */ #define mod_bound(p, n, m) ((unsigned long)(p) >= ((unsigned long)(m) + ((m)->size_of_struct)) && \ (unsigned long)((p)+(n)) <= (unsigned long)(m) + (m)->size) /* Backwards compatibility definition. */ #define GET_USE_COUNT(module) (atomic_read(&(module)->uc.usecount)) /* Poke the use count of a module. */ #define __MOD_INC_USE_COUNT(mod) \ (atomic_inc(&(mod)->uc.usecount), (mod)->flags |= MOD_VISITED|MOD_USED_ONCE) #define __MOD_DEC_USE_COUNT(mod) \ (atomic_dec(&(mod)->uc.usecount), (mod)->flags |= MOD_VISITED) #define __MOD_IN_USE(mod) \ (mod_member_present((mod), can_unload) && (mod)->can_unload \ ? (mod)->can_unload() : atomic_read(&(mod)->uc.usecount)) /* Indirect stringification. */ #define __MODULE_STRING_1(x) #x #define __MODULE_STRING(x) __MODULE_STRING_1(x) /* Generic inter module communication. * * NOTE: This interface is intended for small amounts of data that are * passed between two objects and either or both of the objects * might be compiled as modules. Do not over use this interface. * * If more than two objects need to communicate then you probably * need a specific interface instead of abusing this generic * interface. If both objects are *always* built into the kernel * then a global extern variable is good enough, you do not need * this interface. * * Keith Owens <ka...@oc...> 28 Oct 2000. */ #ifdef __KERNEL__ #define HAVE_INTER_MODULE extern void inter_module_register(const char *, struct module *, const void *); extern void inter_module_unregister(const char *); extern const void *inter_module_get(const char *); extern const void *inter_module_get_request(const char *, const char *); extern void inter_module_put(const char *); struct inter_module_entry { struct list_head list; const char *im_name; struct module *owner; const void *userdata; }; extern int try_inc_mod_count(struct module *mod); #endif /* __KERNEL__ */ #if defined(MODULE) && !defined(__GENKSYMS__) /* Embedded module documentation macros. */ /* For documentation purposes only. */ #define MODULE_AUTHOR(name) \ const char __module_author[] __attribute__((section(".modinfo"))) = \ "author=" name #define MODULE_DESCRIPTION(desc) \ const char __module_description[] __attribute__((section(".modinfo"))) = \ "description=" desc /* Could potentially be used by kmod... */ #define MODULE_SUPPORTED_DEVICE(dev) \ const char __module_device[] __attribute__((section(".modinfo"))) = \ "device=" dev /* Used to verify parameters given to the module. The TYPE arg should be a string in the following format: [min[-max]]{b,h,i,l,s} The MIN and MAX specifiers delimit the length of the array. If MAX is omitted, it defaults to MIN; if both are omitted, the default is 1. The final character is a type specifier: b byte h short i int l long s string */ #define MODULE_PARM(var,type) \ const char __module_parm_##var[] \ __attribute__((section(".modinfo"))) = \ "parm_" __MODULE_STRING(var) "=" type #define MODULE_PARM_DESC(var,desc) \ const char __module_parm_desc_##var[] \ __attribute__((section(".modinfo"))) = \ "parm_desc_" __MODULE_STRING(var) "=" desc /* * MODULE_DEVICE_TABLE exports information about devices * currently supported by this module. A device type, such as PCI, * is a C-like identifier passed as the first arg to this macro. * The second macro arg is the variable containing the device * information being made public. * * The following is a list of known device types (arg 1), * and the C types which are to be passed as arg 2. * pci - struct pci_device_id - List of PCI ids supported by this module * isapnp - struct isapnp_device_id - List of ISA PnP ids supported by this module * usb - struct usb_device_id - List of USB ids supported by this module */ #define MODULE_GENERIC_TABLE(gtype,name) \ static const unsigned long __module_##gtype##_size \ __attribute__ ((unused)) = sizeof(struct gtype##_id); \ static const struct gtype##_id * __module_##gtype##_table \ __attribute__ ((unused)) = name #define MODULE_DEVICE_TABLE(type,name) \ MODULE_GENERIC_TABLE(type##_device,name) /* Define the module variable, and usage macros. */ extern struct module __this_module; #define THIS_MODULE (&__this_module) #define MOD_INC_USE_COUNT __MOD_INC_USE_COUNT(THIS_MODULE) #define MOD_DEC_USE_COUNT __MOD_DEC_USE_COUNT(THIS_MODULE) #define MOD_IN_USE __MOD_IN_USE(THIS_MODULE) #include <linux/version.h> static const char __module_kernel_version[] __attribute__((section(".modinfo"))) = "kernel_version=" UTS_RELEASE; #ifdef MODVERSIONS static const char __module_using_checksums[] __attribute__((section(".modinfo"))) = "using_checksums=1"; #endif #else /* MODULE */ #define MODULE_AUTHOR(name) #define MODULE_DESCRIPTION(desc) #define MODULE_SUPPORTED_DEVICE(name) #define MODULE_PARM(var,type) #define MODULE_PARM_DESC(var,desc) #define MODULE_GENERIC_TABLE(gtype,name) #define MODULE_DEVICE_TABLE(type,name) #ifndef __GENKSYMS__ #define THIS_MODULE NULL #define MOD_INC_USE_COUNT do { } while (0) #define MOD_DEC_USE_COUNT do { } while (0) #define MOD_IN_USE 1 extern struct module *module_list; #endif /* !__GENKSYMS__ */ #endif /* MODULE */ /* Export a symbol either from the kernel or a module. In the kernel, the symbol is added to the kernel's global symbol table. In a module, it controls which variables are exported. If no variables are explicitly exported, the action is controled by the insmod -[xX] flags. Otherwise, only the variables listed are exported. This obviates the need for the old register_symtab() function. */ #if defined(__GENKSYMS__) /* We want the EXPORT_SYMBOL tag left intact for recognition. */ #elif !defined(AUTOCONF_INCLUDED) #define __EXPORT_SYMBOL(sym,str) error config_must_be_included_before_module #define EXPORT_SYMBOL(var) error config_must_be_included_before_module #define EXPORT_SYMBOL_NOVERS(var) error config_must_be_included_before_module #elif !defined(CONFIG_MODULES) #define __EXPORT_SYMBOL(sym,str) #define EXPORT_SYMBOL(var) #define EXPORT_SYMBOL_NOVERS(var) #else #define __EXPORT_SYMBOL(sym, str) \ const char __kstrtab_##sym[] \ __attribute__((section(".kstrtab"))) = str; \ const struct module_symbol __ksymtab_##sym \ __attribute__((section("__ksymtab"))) = \ { (unsigned long)&sym, __kstrtab_##sym } #if defined(MODVERSIONS) || !defined(CONFIG_MODVERSIONS) #define EXPORT_SYMBOL(var) __EXPORT_SYMBOL(var, __MODULE_STRING(var)) #else #define EXPORT_SYMBOL(var) __EXPORT_SYMBOL(var, __MODULE_STRING(__VERSIONED_SYMBOL(var))) #endif #define EXPORT_SYMBOL_NOVERS(var) __EXPORT_SYMBOL(var, __MODULE_STRING(var)) #endif /* __GENKSYMS__ */ #ifdef MODULE /* Force a module to export no symbols. */ #define EXPORT_NO_SYMBOLS __asm__(".section __ksymtab\n.previous") #else #define EXPORT_NO_SYMBOLS #endif /* MODULE */ #ifdef CONFIG_MODULES #define SET_MODULE_OWNER(some_struct) do { (some_struct)->owner = THIS_MODULE; } while (0) #else #define SET_MODULE_OWNER(some_struct) do { } while (0) #endif #endif /* _LINUX_MODULE_H */ |
From: James S. <jsi...@us...> - 2001-09-06 17:13:43
|
Update of /cvsroot/linux-mips/linux/arch/mips64/sgi-ip27 In directory usw-pr-cvs1:/tmp/cvs-serv4994/arch/mips64/sgi-ip27 Modified Files: ip27-berr.c Log Message: Update exception handling in modules. Index: ip27-berr.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips64/sgi-ip27/ip27-berr.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ip27-berr.c 2001/08/21 17:27:31 1.2 --- ip27-berr.c 2001/09/06 17:13:41 1.3 *************** *** 67,72 **** spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { ! if (!mod_member_present(mp, archdata_start) || ! !mp->archdata_start) continue; ap = (struct archdata *)(mod->archdata_start); --- 67,73 ---- spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { ! if (!mod_member_present(mp, archdata_end) || ! !mod_archdata_member_present(mp, struct archdata, ! dbe_table_end)) continue; ap = (struct archdata *)(mod->archdata_start); |
From: James S. <jsi...@us...> - 2001-09-06 17:13:43
|
Update of /cvsroot/linux-mips/linux/arch/mips/kernel In directory usw-pr-cvs1:/tmp/cvs-serv4994/arch/mips/kernel Modified Files: traps.c Log Message: Update exception handling in modules. Index: traps.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/traps.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** traps.c 2001/08/25 06:24:45 1.12 --- traps.c 2001/09/06 17:13:41 1.13 *************** *** 268,273 **** spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { ! if (!mod_member_present(mp, archdata_start) || ! !mp->archdata_start) continue; ap = (struct archdata *)(mp->archdata_start); --- 268,274 ---- spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { ! if (!mod_member_present(mp, archdata_end) || ! !mod_archdata_member_present(mp, struct archdata, ! dbe_table_end)) continue; ap = (struct archdata *)(mp->archdata_start); |
From: James S. <jsi...@us...> - 2001-09-06 17:13:43
|
Update of /cvsroot/linux-mips/linux/arch/mips64/sgi-ip22 In directory usw-pr-cvs1:/tmp/cvs-serv4994/arch/mips64/sgi-ip22 Modified Files: ip22-berr.c Log Message: Update exception handling in modules. Index: ip22-berr.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips64/sgi-ip22/ip22-berr.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ip22-berr.c 2001/09/04 16:03:24 1.3 --- ip22-berr.c 2001/09/06 17:13:41 1.4 *************** *** 64,71 **** spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { ! if (!mod_member_present(mp, archdata_start) || ! !mp->archdata_start) continue; ! ap = (struct archdata *)(mod->archdata_start); if (ap->dbe_table_start == NULL || --- 64,72 ---- spin_lock_irqsave(&modlist_lock, flags); for (mp = module_list; mp != NULL; mp = mp->next) { ! if (!mod_member_present(mp, archdata_end) || ! !mod_archdata_member_present(mp, struct archdata, ! dbe_table_end)) continue; ! ap = (struct archdata *)(mp->archdata_start); if (ap->dbe_table_start == NULL || |
From: James S. <jsi...@us...> - 2001-09-06 17:13:43
|
Update of /cvsroot/linux-mips/linux/include/asm-mips In directory usw-pr-cvs1:/tmp/cvs-serv4994/include/asm-mips Modified Files: module.h Log Message: Update exception handling in modules. Index: module.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/module.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** module.h 2001/08/21 17:20:57 1.1 --- module.h 2001/09/06 17:13:41 1.2 *************** *** 27,33 **** struct archdata *archdata; ! if (!mod_member_present(mod, archdata_start) || !mod->archdata_start) return 0; archdata = (struct archdata *)(mod->archdata_start); if (archdata->dbe_table_start > archdata->dbe_table_end || --- 27,36 ---- struct archdata *archdata; ! if (!mod_member_present(mod, archdata_end)) return 0; + archdata = (struct archdata *)(mod->archdata_start); + if (!mod_archdata_member_present(mod, struct archdata, dbe_table_end)) + return 0; if (archdata->dbe_table_start > archdata->dbe_table_end || *************** *** 41,45 **** sizeof(struct exception_table_entry))) { printk(KERN_ERR ! "arch_init_module: archdata->dbe_table_* invalid.\n"); return 1; } --- 44,48 ---- sizeof(struct exception_table_entry))) { printk(KERN_ERR ! "module_arch_init: archdata->dbe_table_* invalid.\n"); return 1; } |
From: James S. <jsi...@us...> - 2001-09-06 17:08:22
|
Update of /cvsroot/linux-mips/linux/arch/mips/kernel In directory usw-pr-cvs1:/tmp/cvs-serv3339 Modified Files: setup.c Log Message: Small sync. Index: setup.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/setup.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** setup.c 2001/09/05 05:40:29 1.12 --- setup.c 2001/09/06 17:08:19 1.13 *************** *** 321,325 **** mips_cpu.cputype = CPU_4KSC; cpu_4kc: ! /* Why do we set all these options by default, THEN query them?? */ mips_cpu.cputype = MIPS_CPU_ISA_M32; mips_cpu.options = MIPS_CPU_TLB | MIPS_CPU_4KEX | --- 321,328 ---- mips_cpu.cputype = CPU_4KSC; cpu_4kc: ! /* ! * Why do we set all these options by default, THEN ! * query them?? ! */ mips_cpu.cputype = MIPS_CPU_ISA_M32; mips_cpu.options = MIPS_CPU_TLB | MIPS_CPU_4KEX | |
From: James S. <jsi...@us...> - 2001-09-06 17:02:05
|
Update of /cvsroot/linux-mips/linux/include/asm-mips In directory usw-pr-cvs1:/tmp/cvs-serv1414 Added Files: keyboard.h Log Message: Minor cleanup. |
From: James S. <jsi...@us...> - 2001-09-06 17:00:48
|
Update of /cvsroot/linux-mips/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv858 Added Files: maxinefb.c Log Message: Make compile again --- NEW FILE: maxinefb.c --- /* * linux/drivers/video/maxinefb.c * * DECstation 5000/xx onboard framebuffer support ... derived from: * "HP300 Topcat framebuffer support (derived from macfb of all things) * Phil Blundell <ph...@gn...> 1998", the original code can be * found in the file hpfb.c in the same directory. * * DECstation related code Copyright (C) 1999,2000,2001 by * Michael Engel <en...@un...> and * Karsten Merker <me...@li...>. * This file is subject to the terms and conditions of the GNU General * Public License. See the file COPYING in the main directory of this * archive for more details. * */ /* * Changes: * 2001/01/27 removed debugging and testing code, fixed fb_ops * initialization which had caused a crash before, * general cleanup, first official release (KM) * */ #include <linux/module.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/errno.h> #include <linux/string.h> #include <linux/mm.h> #include <linux/tty.h> #include <linux/malloc.h> #include <linux/delay.h> #include <linux/init.h> #include <linux/fb.h> #include <video/fbcon.h> #include "maxinefb.h" /* bootinfo.h defines the machine type values, needed when checking */ /* whether are really running on a maxine, KM */ #include <asm/bootinfo.h> #include <video/fbcon-mfb.h> #include <video/fbcon-cfb2.h> #include <video/fbcon-cfb4.h> #include <video/fbcon-cfb8.h> #define arraysize(x) (sizeof(x)/sizeof(*(x))) static struct display disp; static struct fb_info fb_info; unsigned long fb_start, fb_size = 1024 * 768, fb_line_length = 1024; unsigned long fb_regs; unsigned char fb_bitmask; static struct fb_var_screeninfo maxinefb_defined = { 0, 0, 0, 0, /* W,H, W, H (virtual) load xres,xres_virtual */ 0, 0, /* virtual -> visible no offset */ 0, /* depth -> load bits_per_pixel */ 0, /* greyscale ? */ {0, 0, 0}, /* R */ {0, 0, 0}, /* G */ {0, 0, 0}, /* B */ {0, 0, 0}, /* transparency */ 0, /* standard pixel format */ FB_ACTIVATE_NOW, 274, 195, /* 14" monitor */ FB_ACCEL_NONE, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0, /* No sync info */ FB_VMODE_NONINTERLACED, {0, 0, 0, 0, 0, 0} }; struct maxinefb_par { }; static int currcon = 0; static struct maxinefb_par current_par; /* Reference to machine type set in arch/mips/dec/prom/identify.c, KM */ extern unsigned long mips_machtype; /* Handle the funny Inmos RamDAC/video controller ... */ void maxinefb_ims332_write_register(int regno, register unsigned int val) { register unsigned char *regs = (char *) MAXINEFB_IMS332_ADDRESS; unsigned char *wptr; wptr = regs + 0xa0000 + (regno << 4); *((volatile unsigned int *) (regs)) = (val >> 8) & 0xff00; *((volatile unsigned short *) (wptr)) = val; } unsigned int maxinefb_ims332_read_register(int regno) { register unsigned char *regs = (char *) MAXINEFB_IMS332_ADDRESS; unsigned char *rptr; register unsigned int j, k; rptr = regs + 0x80000 + (regno << 4); j = *((volatile unsigned short *) rptr); k = *((volatile unsigned short *) regs); return (j & 0xffff) | ((k & 0xff00) << 8); } static void maxinefb_encode_var(struct fb_var_screeninfo *var, struct maxinefb_par *par) { int i = 0; var->xres = 1024; var->yres = 768; var->xres_virtual = 1024; var->yres_virtual = 768; var->xoffset = 0; var->yoffset = 0; var->bits_per_pixel = 8; var->grayscale = 0; var->transp.offset = 0; var->transp.length = 0; var->transp.msb_right = 0; var->nonstd = 0; var->activate = 1; var->height = -1; var->width = -1; var->vmode = FB_VMODE_NONINTERLACED; var->pixclock = 0; var->sync = 0; var->left_margin = 0; var->right_margin = 0; var->upper_margin = 0; var->lower_margin = 0; var->hsync_len = 0; var->vsync_len = 0; for (i = 0; i < arraysize(var->reserved); i++) var->reserved[i] = 0; } static void maxinefb_get_par(struct maxinefb_par *par) { *par = current_par; } static int maxinefb_fb_update_var(int con, struct fb_info *info) { return 0; } static int maxinefb_do_fb_set_var(struct fb_var_screeninfo *var, int isactive) { struct maxinefb_par par; maxinefb_get_par(&par); maxinefb_encode_var(var, &par); return 0; } /* Get the palette */ static int maxinefb_get_cmap(struct fb_cmap *cmap, int kspc, int con, struct fb_info *info) { unsigned int i; unsigned long hw_colorvalue = 0; /* raw color value from the register */ unsigned int length; if (((cmap->start) + (cmap->len)) >= 256) { length = 256 - (cmap->start); } else { length = cmap->len; } for (i = 0; i < length; i++) { hw_colorvalue = maxinefb_ims332_read_register(IMS332_REG_COLOR_PALETTE + cmap->start + i); (cmap->red[i]) = ((hw_colorvalue & 0x0000ff)); (cmap->green[i]) = ((hw_colorvalue & 0x00ff00) >> 8); (cmap->blue[i]) = ((hw_colorvalue & 0xff0000) >> 16); } return 0; } /* Set the palette */ static int maxinefb_set_cmap(struct fb_cmap *cmap, int kspc, int con, struct fb_info *info) { unsigned int i; unsigned long hw_colorvalue; /* value to be written into the palette reg. */ unsigned short cmap_red; unsigned short cmap_green; unsigned short cmap_blue; unsigned int length; hw_colorvalue = 0; if (((cmap->start) + (cmap->len)) >= 256) { length = 256 - (cmap->start); } else { length = cmap->len; } for (i = 0; i < length; i++) { cmap_red = ((cmap->red[i]) >> 8); /* The cmap fields are 16 bits */ cmap_green = ((cmap->green[i]) >> 8); /* wide, but the harware colormap */ cmap_blue = ((cmap->blue[i]) >> 8); /* registers are only 8 bits wide */ hw_colorvalue = (cmap_blue << 16) + (cmap_green << 8) + (cmap_red); maxinefb_ims332_write_register(IMS332_REG_COLOR_PALETTE + cmap->start + i, hw_colorvalue); } return 0; } static int maxinefb_get_var(struct fb_var_screeninfo *var, int con, struct fb_info *info) { struct maxinefb_par par; if (con == -1) { maxinefb_get_par(&par); maxinefb_encode_var(var, &par); } else *var = fb_display[con].var; return 0; } static int maxinefb_set_var(struct fb_var_screeninfo *var, int con, struct fb_info *info) { int err; if ((err = maxinefb_do_fb_set_var(var, 1))) return err; return 0; } static void maxinefb_encode_fix(struct fb_fix_screeninfo *fix, struct maxinefb_par *par) { memset(fix, 0, sizeof(struct fb_fix_screeninfo)); strcpy(fix->id, "maxinefb"); /* fix->id is a char[16], so a maximum of 15 characters, KM */ fix->smem_start = (char *) fb_start; /* display memory base address, KM */ fix->smem_len = fb_size; fix->type = FB_TYPE_PACKED_PIXELS; fix->visual = FB_VISUAL_PSEUDOCOLOR; fix->xpanstep = 0; fix->ypanstep = 0; fix->ywrapstep = 0; fix->line_length = fb_line_length; } static int maxinefb_get_fix(struct fb_fix_screeninfo *fix, int con, struct fb_info *info) { struct maxinefb_par par; maxinefb_get_par(&par); maxinefb_encode_fix(fix, &par); return 0; } static int maxinefb_switch(int con, struct fb_info *info) { maxinefb_do_fb_set_var(&fb_display[con].var, 1); currcon = con; return 0; } static void maxinefb_set_disp(int con) { struct fb_fix_screeninfo fix; struct display *display; if (con >= 0) display = &fb_display[con]; else display = &disp; /* used during initialization */ maxinefb_get_fix(&fix, con, 0); display->screen_base = fix.smem_start; display->visual = fix.visual; display->type = fix.type; display->type_aux = fix.type_aux; display->ypanstep = fix.ypanstep; display->ywrapstep = fix.ywrapstep; display->line_length = fix.line_length; display->next_line = fix.line_length; display->can_soft_blank = 0; display->inverse = 0; display->dispsw = &fbcon_cfb8; } static struct fb_ops maxinefb_ops = { owner: THIS_MODULE, fb_get_fix: maxinefb_get_fix, fb_get_var: maxinefb_get_var, fb_set_var: maxinefb_set_var, fb_get_cmap: maxinefb_get_cmap, fb_set_cmap: maxinefb_set_cmap, }; int __init maxinefb_init(void) { volatile unsigned char *fboff; int i; /* Validate we're on the proper machine type */ if (mips_machtype != MACH_DS5000_XX) { return -EINVAL; } printk(KERN_INFO "Maxinefb: Personal DECstation detected\n"); printk(KERN_INFO "Maxinefb: initializing onboard framebuffer\n"); /* Framebuffer display memory base address */ fb_start = DS5000_xx_ONBOARD_FBMEM_START; /* Clear screen */ for (fboff = fb_start; fboff < fb_start + 0x1ffff; fboff++) *fboff = 0x0; /* erase hardware cursor */ for (i = 0; i < 512; i++) { maxinefb_ims332_write_register(IMS332_REG_CURSOR_RAM + i, 0); /* if (i&0x8 == 0) maxinefb_ims332_write_register (IMS332_REG_CURSOR_RAM + i, 0x0f); else maxinefb_ims332_write_register (IMS332_REG_CURSOR_RAM + i, 0xf0); */ } /* Fill in the available video resolution */ maxinefb_defined.xres = 1024; maxinefb_defined.yres = 768; maxinefb_defined.xres_virtual = 1024; maxinefb_defined.yres_virtual = 768; maxinefb_defined.bits_per_pixel = 8; /* Let there be consoles... */ strcpy(fb_info.modename, "Maxine onboard graphics 1024x768x8"); /* fb_info.modename: maximum of 39 characters + trailing nullbyte, KM */ fb_info.changevar = NULL; fb_info.node = -1; fb_info.fbops = &maxinefb_ops; fb_info.disp = &disp; fb_info.switch_con = &maxinefb_switch; fb_info.updatevar = &maxinefb_fb_update_var; fb_info.blank = NULL; fb_info.flags = FBINFO_FLAG_DEFAULT; maxinefb_do_fb_set_var(&maxinefb_defined, 1); maxinefb_get_var(&disp.var, -1, &fb_info); maxinefb_set_disp(-1); if (register_framebuffer(&fb_info) < 0) return 1; return 0; } static void __exit maxinefb_exit(void) { unregister_framebuffer(&fb_info); } #ifdef MODULE module_init(maxinefb_init); #endif module_exit(maxinefb_exit); |
From: James S. <jsi...@us...> - 2001-09-06 17:00:30
|
Update of /cvsroot/linux-mips/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv755 Modified Files: pmag-ba-fb.c pmagb-b-fb.c Log Message: Make compile again Index: pmag-ba-fb.c =================================================================== RCS file: /cvsroot/linux-mips/linux/drivers/video/pmag-ba-fb.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** pmag-ba-fb.c 2001/06/22 02:29:32 1.1.1.1 --- pmag-ba-fb.c 2001/09/06 17:00:28 1.2 *************** *** 92,96 **** static int currcon = 0; ! struct pmagbafb_par current_par; static void pmagbafb_encode_var(struct fb_var_screeninfo *var, --- 92,96 ---- static int currcon = 0; ! static struct pmagbafb_par current_par; static void pmagbafb_encode_var(struct fb_var_screeninfo *var, Index: pmagb-b-fb.c =================================================================== RCS file: /cvsroot/linux-mips/linux/drivers/video/pmagb-b-fb.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** pmagb-b-fb.c 2001/06/22 02:29:32 1.1.1.1 --- pmagb-b-fb.c 2001/09/06 17:00:28 1.2 *************** *** 95,99 **** static int currcon = 0; ! struct pmagbbfb_par current_par; static void pmagbbfb_encode_var(struct fb_var_screeninfo *var, --- 95,99 ---- static int currcon = 0; ! static struct pmagbbfb_par current_par; static void pmagbbfb_encode_var(struct fb_var_screeninfo *var, |
From: James S. <jsi...@us...> - 2001-09-06 16:57:35
|
Update of /cvsroot/linux-mips/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv32410 Modified Files: fbmem.c Log Message: Make compile again. Index: fbmem.c =================================================================== RCS file: /cvsroot/linux-mips/linux/drivers/video/fbmem.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** fbmem.c 2001/08/30 21:41:05 1.4 --- fbmem.c 2001/09/06 16:57:32 1.5 *************** *** 124,128 **** extern int pmagbbfb_setup(char *options, int *ints); extern void maxinefb_init(void); - extern void maxinefb_setup(char *options, int *ints); extern int tx3912fb_init(void); extern int radeonfb_init(void); --- 124,127 ---- *************** *** 320,324 **** #ifdef CONFIG_FB_MAXINE ! { "maxinefb", maxinefb_init, maxinefb_setup }, #endif --- 319,323 ---- #ifdef CONFIG_FB_MAXINE ! { "maxinefb", maxinefb_init, NULL }, #endif |
From: James S. <jsi...@us...> - 2001-09-06 16:55:37
|
Update of /cvsroot/linux-mips/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv31963 Modified Files: dz.c Added Files: dz.h Log Message: Make compile again. --- NEW FILE: dz.h --- /* * dz.h: Serial port driver for DECStations equiped * with the DZ chipset. * * Copyright (C) 1998 Olivier A. D. Lebaillif * * Email: oli...@if... * */ #ifndef DZ_SERIAL_H #define DZ_SERIAL_H #define SERIAL_MAGIC 0x5301 /* * Definitions for the Control and Status Received. */ #define DZ_TRDY 0x8000 /* Transmitter empty */ #define DZ_TIE 0x4000 /* Transmitter Interrupt Enable */ #define DZ_RDONE 0x0080 /* Receiver data ready */ #define DZ_RIE 0x0040 /* Receive Interrupt Enable */ #define DZ_MSE 0x0020 /* Master Scan Enable */ #define DZ_CLR 0x0010 /* Master reset */ #define DZ_MAINT 0x0008 /* Loop Back Mode */ /* * Definitions for the Received buffer. */ #define DZ_RBUF_MASK 0x00FF /* Data Mask in the Receive Buffer */ #define DZ_LINE_MASK 0x0300 /* Line Mask in the Receive Buffer */ #define DZ_DVAL 0x8000 /* Valid Data indicator */ #define DZ_OERR 0x4000 /* Overrun error indicator */ #define DZ_FERR 0x2000 /* Frame error indicator */ #define DZ_PERR 0x1000 /* Parity error indicator */ #define LINE(x) (x & DZ_LINE_MASK) >> 8 /* Get the line number from the input buffer */ #define UCHAR(x) (unsigned char)(x & DZ_RBUF_MASK) /* * Definitions for the Transmit Register. */ #define DZ_LINE_KEYBOARD 0x0001 #define DZ_LINE_MOUSE 0x0002 #define DZ_LINE_MODEM 0x0004 #define DZ_LINE_PRINTER 0x0008 #define DZ_MODEM_DTR 0x0400 /* DTR for the modem line (2) */ /* * Definitions for the Modem Status Register. */ #define DZ_MODEM_DSR 0x0200 /* DSR for the modem line (2) */ /* * Definitions for the Transmit Data Register. */ #define DZ_BRK0 0x0100 /* Break assertion for line 0 */ #define DZ_BRK1 0x0200 /* Break assertion for line 1 */ #define DZ_BRK2 0x0400 /* Break assertion for line 2 */ #define DZ_BRK3 0x0800 /* Break assertion for line 3 */ /* * Definitions for the Line Parameter Register. */ #define DZ_KEYBOARD 0x0000 /* line 0 = keyboard */ #define DZ_MOUSE 0x0001 /* line 1 = mouse */ #define DZ_MODEM 0x0002 /* line 2 = modem */ #define DZ_PRINTER 0x0003 /* line 3 = printer */ #define DZ_CSIZE 0x0018 /* Number of bits per byte (mask) */ #define DZ_CS5 0x0000 /* 5 bits per byte */ #define DZ_CS6 0x0008 /* 6 bits per byte */ #define DZ_CS7 0x0010 /* 7 bits per byte */ #define DZ_CS8 0x0018 /* 8 bits per byte */ #define DZ_CSTOPB 0x0020 /* 2 stop bits instead of one */ #define DZ_PARENB 0x0040 /* Parity enable */ #define DZ_PARODD 0x0080 /* Odd parity instead of even */ #define DZ_CBAUD 0x0E00 /* Baud Rate (mask) */ #define DZ_B50 0x0000 #define DZ_B75 0x0100 #define DZ_B110 0x0200 #define DZ_B134 0x0300 #define DZ_B150 0x0400 #define DZ_B300 0x0500 #define DZ_B600 0x0600 #define DZ_B1200 0x0700 #define DZ_B1800 0x0800 #define DZ_B2000 0x0900 #define DZ_B2400 0x0A00 #define DZ_B3600 0x0B00 #define DZ_B4800 0x0C00 #define DZ_B7200 0x0D00 #define DZ_B9600 0x0E00 #define DZ_CREAD 0x1000 /* Enable receiver */ #define DZ_RXENAB 0x1000 /* enable receive char */ /* * Addresses for the DZ registers */ #define DZ_CSR 0x00 /* Control and Status Register */ #define DZ_RBUF 0x08 /* Receive Buffer */ #define DZ_LPR 0x08 /* Line Parameters Register */ #define DZ_TCR 0x10 /* Transmitter Control Register */ #define DZ_MSR 0x18 /* Modem Status Register */ #define DZ_TDR 0x18 /* Transmit Data Register */ #define DZ_NB_PORT 4 #define DZ_XMIT_SIZE 4096 /* buffer size */ #define WAKEUP_CHARS DZ_XMIT_SIZE/4 #define DZ_EVENT_WRITE_WAKEUP 0 #ifndef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define DZ_INITIALIZED 0x80000000 /* Serial port was initialized */ #define DZ_CALLOUT_ACTIVE 0x40000000 /* Call out device is active */ #define DZ_NORMAL_ACTIVE 0x20000000 /* Normal device is active */ #define DZ_BOOT_AUTOCONF 0x10000000 /* Autoconfigure port on bootup */ #define DZ_CLOSING 0x08000000 /* Serial port is closing */ #define DZ_CTS_FLOW 0x04000000 /* Do CTS flow control */ #define DZ_CHECK_CD 0x02000000 /* i.e., CLOCAL */ #define DZ_CLOSING_WAIT_INF 0 #define DZ_CLOSING_WAIT_NONE 65535 #define DZ_SPLIT_TERMIOS 0x0008 /* Separate termios for dialin/callout */ #define DZ_SESSION_LOCKOUT 0x0100 /* Lock out cua opens based on session */ #define DZ_PGRP_LOCKOUT 0x0200 /* Lock out cua opens based on pgrp */ struct dz_serial { unsigned port; /* base address for the port */ int type; int flags; int baud_base; int blocked_open; unsigned short close_delay; unsigned short closing_wait; unsigned short line; /* port/line number */ unsigned short cflags; /* line configuration flag */ unsigned short x_char; /* xon/xoff character */ unsigned short read_status_mask; /* mask for read condition */ unsigned short ignore_status_mask; /* mask for ignore condition */ unsigned long event; /* mask used in BH */ unsigned char *xmit_buf; /* Transmit buffer */ int xmit_head; /* Position of the head */ int xmit_tail; /* Position of the tail */ int xmit_cnt; /* Count of the chars in the buffer */ int count; /* indicates how many times it has been opened */ int magic; struct async_icount icount; /* keep track of things ... */ struct tty_struct *tty; /* tty associated */ struct tq_struct tqueue; /* Queue for BH */ struct tq_struct tqueue_hangup; struct termios normal_termios; struct termios callout_termios; wait_queue_head_t open_wait; wait_queue_head_t close_wait; long session; /* Session of opening process */ long pgrp; /* pgrp of opening process */ unsigned char is_console; /* flag indicating a serial console */ unsigned char is_initialized; }; static struct dz_serial multi[DZ_NB_PORT]; /* Four serial lines in the DZ chip */ static struct dz_serial *dz_console; static struct tty_driver serial_driver, callout_driver; static struct tty_struct *serial_table[DZ_NB_PORT]; static struct termios *serial_termios[DZ_NB_PORT]; static struct termios *serial_termios_locked[DZ_NB_PORT]; static int serial_refcount; /* * tmp_buf is used as a temporary buffer by serial_write. We need to * lock it in case the copy_from_user blocks while swapping in a page, * and some other program tries to do a serial write at the same time. * Since the lock will only come under contention when the system is * swapping and available memory is low, it makes sense to share one * buffer across all the serial ports, since it significantly saves * memory if large numbers of serial ports are open. */ static unsigned char *tmp_buf; static DECLARE_MUTEX(tmp_buf_sem); static char *dz_name = "DECstation DZ serial driver version "; static char *dz_version = "1.02"; static inline unsigned short dz_in (struct dz_serial *, unsigned); static inline void dz_out (struct dz_serial *, unsigned, unsigned short); static inline void dz_sched_event (struct dz_serial *, int); static inline void receive_chars (struct dz_serial *); static inline void transmit_chars (struct dz_serial *); static inline void check_modem_status (struct dz_serial *); static void dz_stop (struct tty_struct *); static void dz_start (struct tty_struct *); static void dz_interrupt (int, void *, struct pt_regs *); static void do_serial_bh (void); static void do_softint (void *); static void do_serial_hangup (void *); static void change_speed (struct dz_serial *); static void dz_flush_chars (struct tty_struct *); static void dz_console_print (struct console *, const char *, unsigned int); static void dz_flush_buffer (struct tty_struct *); static void dz_throttle (struct tty_struct *); static void dz_unthrottle (struct tty_struct *); static void dz_send_xchar (struct tty_struct *, char); static void shutdown (struct dz_serial *); static void send_break (struct dz_serial *, int); static void dz_set_termios (struct tty_struct *, struct termios *); static void dz_close (struct tty_struct *, struct file *); static void dz_hangup (struct tty_struct *); static void show_serial_version (void); static int dz_write (struct tty_struct *, int, const unsigned char *, int); static int dz_write_room (struct tty_struct *); static int dz_chars_in_buffer (struct tty_struct *); static int startup (struct dz_serial *); static int get_serial_info (struct dz_serial *, struct serial_struct *); static int set_serial_info (struct dz_serial *, struct serial_struct *); static int get_lsr_info (struct dz_serial *, unsigned int *); static int dz_ioctl (struct tty_struct *, struct file *, unsigned int, unsigned long); static int block_til_ready (struct tty_struct *, struct file *, struct dz_serial *); static int dz_open (struct tty_struct *, struct file *); #ifdef MODULE int init_module (void) void cleanup_module (void) #endif #endif #endif /* DZ_SERIAL_H */ Index: dz.c =================================================================== RCS file: /cvsroot/linux-mips/linux/drivers/char/dz.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** dz.c 2001/09/04 16:05:17 1.4 --- dz.c 2001/09/06 16:55:35 1.5 *************** *** 1321,1325 **** int __init dz_init(void) { ! int i, flags, tmp; long flags; struct dz_serial *info; --- 1321,1325 ---- int __init dz_init(void) { ! int i, tmp; long flags; struct dz_serial *info; |
From: James S. <jsi...@us...> - 2001-09-06 16:54:17
|
Update of /cvsroot/linux-mips/linux/include/asm-mips64 In directory usw-pr-cvs1:/tmp/cvs-serv31625 Modified Files: pgtable.h Log Message: Move MIPS pgprot_noncached() to <asm/pgtable.h>. Index: pgtable.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips64/pgtable.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** pgtable.h 2001/09/04 16:16:34 1.3 --- pgtable.h 2001/09/06 16:54:14 1.4 *************** *** 462,465 **** --- 462,482 ---- /* + * Macro to make mark a page protection value as "uncacheable". Note + * that "protection" is really a misnomer here as the protection value + * contains the memory attribute bits, dirty bits, and various other + * bits as well. + */ + #define pgprot_noncached pgprot_noncached + + static inline pgprot_t pgprot_noncached(pgprot_t _prot) + { + unsigned long prot = pgprot_val(_prot); + + prot = (prot & ~_CACHE_MASK) | _CACHE_UNCACHED; + + return __pgprot(prot); + } + + /* * Conversion functions: convert a page and protection to a page entry, * and a page entry and page directory to the page they refer to. |
From: James S. <jsi...@us...> - 2001-09-06 16:53:09
|
Update of /cvsroot/linux-mips/linux/drivers/char In directory usw-pr-cvs1:/tmp/cvs-serv31229 Modified Files: mem.c Log Message: Move MIPS pgprot_noncached() to <asm/pgtable.h>. Index: mem.c =================================================================== RCS file: /cvsroot/linux-mips/linux/drivers/char/mem.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** mem.c 2001/08/25 06:24:45 1.3 --- mem.c 2001/09/06 16:53:06 1.4 *************** *** 154,159 **** else if (MMU_IS_040 || MMU_IS_060) prot = (prot & _CACHEMASK040) | _PAGE_NOCACHE_S; - #elif defined(__mips__) - prot = (prot & ~_CACHE_MASK) | _CACHE_UNCACHED; #endif --- 154,157 ---- |
From: James S. <jsi...@us...> - 2001-09-06 16:52:16
|
Update of /cvsroot/linux-mips/linux/include/asm-mips In directory usw-pr-cvs1:/tmp/cvs-serv30998 Modified Files: pgtable.h Log Message: Move MIPS pgprot_noncached() to <asm/pgtable.h>. Index: pgtable.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/pgtable.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** pgtable.h 2001/07/20 17:47:05 1.3 --- pgtable.h 2001/09/06 16:52:13 1.4 *************** *** 398,401 **** --- 398,418 ---- } + /* + * Macro to make mark a page protection value as "uncacheable". Note + * that "protection" is really a misnomer here as the protection value + * contains the memory attribute bits, dirty bits, and various other + * bits as well. + */ + #define pgprot_noncached pgprot_noncached + + static inline pgprot_t pgprot_noncached(pgprot_t _prot) + { + unsigned long prot = pgprot_val(_prot); + + prot = (prot & ~_CACHE_MASK) | _CACHE_UNCACHED; + + return __pgprot(prot); + } + extern inline pte_t pte_mkyoung(pte_t pte) { |
From: James S. <jsi...@us...> - 2001-09-06 16:14:38
|
Update of /cvsroot/linux-mips/linux/arch/mips64/kernel In directory usw-pr-cvs1:/tmp/cvs-serv7225 Added Files: r4k_tlb_glue.S Log Message: Return from exceptions calling do_page_fault via ret_from_exception. --- NEW FILE: r4k_tlb_glue.S --- /* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1999 Ralf Baechle * Copyright (C) 1999 Silicon Graphics, Inc. */ #define __ASSEMBLY__ #include <linux/init.h> #include <asm/mipsregs.h> #include <asm/regdef.h> #include <asm/stackframe.h> .macro __BUILD_cli CLI .endm .macro __BUILD_sti STI .endm .macro tlb_handler name interruptible writebit NESTED(__\name, PT_SIZE, sp) SAVE_ALL #if DEBUG_MIPS64 jal dodebug2 ld $4, PT_R4(sp) ld $5, PT_R5(sp) ld $6, PT_R6(sp) ld $7, PT_R7(sp) ld $2, PT_R2(sp) #endif dmfc0 a2, CP0_BADVADDR __BUILD_\interruptible li a1, \writebit sd a2, PT_BVADDR(sp) move a0, sp jal do_page_fault j ret_from_exception END(__\name) .endm tlb_handler xtlb_mod sti 1 tlb_handler xtlb_tlbl sti 0 tlb_handler xtlb_tlbs sti 1 |