You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
| 2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
| 2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
| 2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
| 2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:45
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/arch/alpha/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.59
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/alpha/kernel/setup.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- setup.c 23 Nov 2002 00:55:44 -0000 1.12
+++ setup.c 1 Feb 2003 18:57:11 -0000 1.13
@@ -155,6 +155,7 @@
WEAK(eiger_mv);
WEAK(jensen_mv);
WEAK(lx164_mv);
+WEAK(marvel_ev7_mv);
WEAK(miata_mv);
WEAK(mikasa_mv);
WEAK(mikasa_primo_mv);
@@ -174,6 +175,7 @@
WEAK(shark_mv);
WEAK(sx164_mv);
WEAK(takara_mv);
+WEAK(titan_mv);
WEAK(webbrick_mv);
WEAK(wildfire_mv);
WEAK(xl_mv);
@@ -288,7 +290,7 @@
(hwrpb->mddt_offset + (unsigned long) hwrpb);
for_each_mem_cluster(memdesc, cluster, i) {
- printk("memcluster %d, usage %01lx, start %8lu, end %8lu\n",
+ printk("memcluster %lu, usage %01lx, start %8lu, end %8lu\n",
i, cluster->usage, cluster->start_pfn,
cluster->start_pfn + cluster->numpages);
@@ -303,6 +305,24 @@
max_low_pfn = end;
}
+ /*
+ * Except for the NUMA systems (wildfire, marvel) all of the
+ * Alpha systems we run on support 32GB of memory or less.
+ * Since the NUMA systems introduce large holes in memory addressing,
+ * we can get into a situation where there is not enough contiguous
+ * memory for the memory map.
+ *
+ * Limit memory to the first 32GB to limit the NUMA systems to
+ * memory on their first node (wildfire) or 2 (marvel) to avoid
+ * not being able to produce the memory map. In order to access
+ * all of the memory on the NUMA systems, build with discontiguous
+ * memory support.
+ *
+ * If the user specified a memory limit, let that memory limit stand.
+ */
+ if (!mem_size_limit)
+ mem_size_limit = (32ul * 1024 * 1024 * 1024) >> PAGE_SHIFT;
+
if (mem_size_limit && max_low_pfn >= mem_size_limit)
{
printk("setup: forcing memory size to %ldK (from %ldK).\n",
@@ -664,7 +684,7 @@
"Mikasa", "EB64", "EB66", "EB64+", "AlphaBook1",
"Rawhide", "K2", "Lynx", "XL", "EB164", "Noritake",
"Cortex", "29", "Miata", "XXM", "Takara", "Yukon",
- "Tsunami", "Wildfire", "CUSCO", "Eiger", "Titan"
+ "Tsunami", "Wildfire", "CUSCO", "Eiger", "Titan", "Marvel"
};
static char unofficial_names[][8] = {"100", "Ruffian"};
@@ -683,15 +703,20 @@
static char eb66_names[][8] = {"EB66", "EB66+"};
static int eb66_indices[] = {0,0,1};
+static char marvel_names[][16] = {
+ "Marvel/EV7"
+};
+static int marvel_indices[] = { 0 };
+
static char rawhide_names[][16] = {
"Dodge", "Wrangler", "Durango", "Tincup", "DaVinci"
};
static int rawhide_indices[] = {0,0,0,1,1,2,2,3,3,4,4};
static char titan_names[][16] = {
- "0", "Privateer"
+ "DEFAULT", "Privateer", "Falcon", "Granite"
};
-static int titan_indices[] = {0,1};
+static int titan_indices[] = {0,1,2,2,3};
static char tsunami_names[][16] = {
"0", "DP264", "Warhol", "Windjammer", "Monet", "Clipper",
@@ -744,6 +769,7 @@
NULL, /* CUSCO */
&eiger_mv, /* Eiger */
NULL, /* Titan */
+ NULL, /* Marvel */
};
static struct alpha_machine_vector *unofficial_vecs[] __initdata =
@@ -781,10 +807,17 @@
&eb66p_mv
};
+ static struct alpha_machine_vector *marvel_vecs[] __initdata =
+ {
+ &marvel_ev7_mv,
+ };
+
static struct alpha_machine_vector *titan_vecs[] __initdata =
{
- NULL,
+ &titan_mv, /* default */
&privateer_mv, /* privateer */
+ &titan_mv, /* falcon */
+ &privateer_mv, /* granite */
};
static struct alpha_machine_vector *tsunami_vecs[] __initdata =
@@ -849,7 +882,12 @@
if (member < N(eb66_indices))
vec = eb66_vecs[eb66_indices[member]];
break;
+ case ST_DEC_MARVEL:
+ if (member < N(marvel_indices))
+ vec = marvel_vecs[marvel_indices[member]];
+ break;
case ST_DEC_TITAN:
+ vec = titan_vecs[0]; /* default */
if (member < N(titan_indices))
vec = titan_vecs[titan_indices[member]];
break;
@@ -988,11 +1026,16 @@
if (member < N(eb66_indices))
*variation_name = eb66_names[eb66_indices[member]];
break;
+ case ST_DEC_MARVEL:
+ if (member < N(marvel_indices))
+ *variation_name = marvel_names[marvel_indices[member]];
+ break;
case ST_DEC_RAWHIDE:
if (member < N(rawhide_indices))
*variation_name = rawhide_names[rawhide_indices[member]];
break;
case ST_DEC_TITAN:
+ *variation_name = titan_names[0]; /* default */
if (member < N(titan_indices))
*variation_name = titan_names[titan_indices[member]];
break;
|
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:45
|
Update of /cvsroot/linuxconsole/ruby/linux In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux Modified Files: Makefile Log Message: Synced to 2.5.59 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- Makefile 10 Dec 2002 21:06:00 -0000 1.72 +++ Makefile 1 Feb 2003 18:57:10 -0000 1.73 @@ -1,8 +1,8 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 51 +SUBLEVEL = 59 EXTRAVERSION = -ruby - + # *DOCUMENTATION* # To see a list of typical targets execute "make help" # More info can be located in ./Documentation/kbuild @@ -157,6 +157,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump AWK = awk GENKSYMS = /sbin/genksyms +DEPMOD = /sbin/depmod KALLSYMS = scripts/kallsyms PERL = perl MODFLAGS = -DMODULE @@ -202,7 +203,7 @@ .PHONY: scripts scripts: - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts + $(Q)$(MAKE) $(build)=scripts # Objects we will link into vmlinux / subdirs we need to visit # --------------------------------------------------------------------------- @@ -312,9 +313,9 @@ set -e $(if $(filter .tmp_kallsyms%,$^),, echo ' Generating build number' - . scripts/mkversion > .tmp_version + . $(src)/scripts/mkversion > .tmp_version mv -f .tmp_version .version - $(Q)$(MAKE) -f scripts/Makefile.build obj=init + $(Q)$(MAKE) $(build)=init ) $(call cmd,vmlinux__) echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd @@ -328,7 +329,7 @@ ifdef CONFIG_SMP define rule_vmlinux $(rule_vmlinux_no_percpu) - $(AWK) -f scripts/per-cpu-check.awk < System.map + $(AWK) -f $(srctree)/scripts/per-cpu-check.awk < System.map endef else define rule_vmlinux @@ -384,7 +385,7 @@ .PHONY: $(SUBDIRS) $(SUBDIRS): .hdepend prepare - $(Q)$(MAKE) -f scripts/Makefile.build obj=$@ + $(Q)$(MAKE) $(build)=$@ # Things we need done before we descend to build or make # module versions are listed in "prepare" @@ -393,6 +394,17 @@ prepare: include/linux/version.h include/asm include/config/MARKER @echo ' Starting the build. KBUILD_BUILTIN=$(KBUILD_BUILTIN) KBUILD_MODULES=$(KBUILD_MODULES)' +# We need to build init/vermagic.o before descending since all modules +# (*.ko) need it already + +ifdef CONFIG_MODULES + +prepare: init/vermagic.o + +init/vermagic.o: include/linux/version.h + +endif + # This can be used by arch/$ARCH/Makefile to preprocess # their vmlinux.lds.S file @@ -407,17 +419,19 @@ # --------------------------------------------------------------------------- %.s: %.c scripts FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=$(@D) $@ + $(Q)$(MAKE) $(build)=$(@D) $@ %.i: %.c scripts FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=$(@D) $@ + $(Q)$(MAKE) $(build)=$(@D) $@ %.o: %.c scripts FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=$(@D) $@ + $(Q)$(MAKE) $(build)=$(@D) $@ +%.ko: scripts FORCE + $(Q)$(MAKE) $(build)=$(@D) $@ %.lst: %.c scripts FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=$(@D) $@ + $(Q)$(MAKE) $(build)=$(@D) $@ %.s: %.S scripts FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=$(@D) $@ + $(Q)$(MAKE) $(build)=$(@D) $@ %.o: %.S scripts FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=$(@D) $@ + $(Q)$(MAKE) $(build)=$(@D) $@ # FIXME: The asm symlink changes when $(ARCH) changes. That's # hard to detect, but I suppose "make mrproper" is a good idea @@ -438,7 +452,7 @@ # with it and forgot to run make oldconfig include/linux/autoconf.h: .config - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig scripts/kconfig/conf + $(Q)$(MAKE) $(build)=scripts/kconfig scripts/kconfig/conf ./scripts/kconfig/conf -s arch/$(ARCH)/Kconfig # Generate some files @@ -534,7 +548,7 @@ # Install modules .PHONY: modules_install -modules_install: _modinst_ $(patsubst %, _modinst_%, $(SUBDIRS)) +modules_install: _modinst_ $(patsubst %, _modinst_%, $(SUBDIRS)) _modinst_post .PHONY: _modinst_ _modinst_: @@ -543,6 +557,20 @@ @mkdir -p $(MODLIB)/kernel @ln -s $(TOPDIR) $(MODLIB)/build +# If System.map exists, run depmod. This deliberately does not have a +# dependency on System.map since that would run the dependency tree on +# vmlinux. This depmod is only for convenience to give the initial +# boot a modules.dep even before / is mounted read-write. However the +# boot script depmod is the master version. +ifeq "$(strip $(INSTALL_MOD_PATH))" "" +depmod_opts := +else +depmod_opts := -b $(INSTALL_MOD_PATH) -r +endif +.PHONY: _modinst_post +_modinst_post: + if [ -r System.map ]; then $(DEPMOD) -ae -F System.map $(depmod_opts) $(KERNELRELEASE); fi + .PHONY: $(patsubst %, _modinst_%, $(SUBDIRS)) $(patsubst %, _modinst_%, $(SUBDIRS)) : $(Q)$(MAKE) -rR -f scripts/Makefile.modinst obj=$(patsubst _modinst_%,%,$@) @@ -604,7 +632,7 @@ tar -cvz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(KERNELPATH)/. ; \ rm $(KERNELPATH) ; \ cd $(TOPDIR) ; \ - . scripts/mkversion > .version ; \ + $(CONFIG_SHELL) $(srctree)/scripts/mkversion > .version ; \ rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \ rm $(TOPDIR)/../$(KERNELPATH).tar.gz @@ -642,13 +670,13 @@ make_with_config scripts/kconfig/conf scripts/kconfig/mconf scripts/kconfig/qconf: scripts/fixdep FORCE - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig $@ + $(Q)$(MAKE) $(build)=scripts/kconfig $@ xconfig: scripts/kconfig/qconf ./scripts/kconfig/qconf arch/$(ARCH)/Kconfig menuconfig: scripts/kconfig/mconf - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/lxdialog + $(Q)$(MAKE) $(build)=scripts/lxdialog ./scripts/kconfig/mconf arch/$(ARCH)/Kconfig config: scripts/kconfig/conf @@ -704,7 +732,7 @@ clean-dirs += $(ALL_SUBDIRS) Documentation/DocBook scripts $(addprefix _clean_,$(clean-dirs)): - $(Q)$(MAKE) -f scripts/Makefile.clean obj=$(patsubst _clean_%,%,$@) + $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@) quiet_cmd_rmclean = RM $$(CLEAN_FILES) cmd_rmclean = rm -f $(CLEAN_FILES) @@ -795,7 +823,8 @@ @$(MAKE) --no-print-directory -f Documentation/DocBook/Makefile dochelp @echo '' @echo 'Architecture specific targets ($(ARCH)):' - @$(MAKE) --no-print-directory -f arch/$(ARCH)/boot/Makefile archhelp + @$(if $(archhelp),$(archhelp),\ + echo ' No architecture specific help defined for $(ARCH)') @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info browse Documentation/kbuild/*' @@ -804,7 +833,7 @@ # Documentation targets # --------------------------------------------------------------------------- sgmldocs psdocs pdfdocs htmldocs: scripts - $(Q)$(MAKE) -f scripts/Makefile.build obj=Documentation/DocBook $@ + $(Q)$(MAKE) $(build)=Documentation/DocBook $@ # Scripts to check various things for consistency # --------------------------------------------------------------------------- @@ -839,7 +868,7 @@ # FIXME Should go into a make.lib or something # =========================================================================== -a_flags = -Wp,-MD,$(depfile) $(AFLAGS) $(NOSTDINC_FLAGS) \ +a_flags = -Wp,-MD,$(depfile) $(AFLAGS) $(AFLAGS_KERNEL) $(NOSTDINC_FLAGS) \ $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o) quiet_cmd_as_s_S = CPP $@ @@ -892,9 +921,20 @@ mv -f $@.tmp $@; \ fi endef + +# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj= +# Usage: +# $(Q)$(MAKE) $(build)=dir +build := -f scripts/Makefile.build obj + +# Shorthand for $(Q)$(MAKE) scripts/Makefile.clean obj=dir +# Usage: +# $(Q)$(MAKE) $(clean)=dir +clean := -f scripts/Makefile.clean obj + # $(call descend,<dir>,<target>) # Recursively call a sub-make in <dir> with target <target> - +# Usage is deprecated, because make do not see this as an invocation of make. descend =$(Q)$(MAKE) -f scripts/Makefile.build obj=$(1) $(2) FORCE: |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:45
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/arch/arm/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.59
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/arm/kernel/setup.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- setup.c 23 Nov 2002 00:55:44 -0000 1.15
+++ setup.c 1 Feb 2003 18:57:11 -0000 1.16
@@ -80,7 +80,7 @@
unsigned long phys_initrd_size __initdata = 0;
static struct meminfo meminfo __initdata = { 0, };
-static struct proc_info_item proc_info;
+static const char *cpu_name;
static const char *machine_name;
static char command_line[COMMAND_LINE_SIZE];
@@ -274,7 +274,7 @@
while (1);
}
- proc_info = *list->info;
+ cpu_name = list->cpu_name;
#ifdef MULTI_CPU
processor = *list->proc;
@@ -286,9 +286,9 @@
cpu_user = *list->user;
#endif
- printk("CPU: %s %s revision %d (ARMv%s)\n",
- proc_info.manufacturer, proc_info.cpu_name,
- (int)processor_id & 15, proc_arch[cpu_architecture()]);
+ printk("CPU: %s [%08x] revision %d (ARMv%s)\n",
+ cpu_name, processor_id, (int)processor_id & 15,
+ proc_arch[cpu_architecture()]);
dump_cpu_info();
@@ -714,9 +714,8 @@
{
int i;
- seq_printf(m, "Processor\t: %s %s rev %d (%s)\n",
- proc_info.manufacturer, proc_info.cpu_name,
- (int)processor_id & 15, elf_platform);
+ seq_printf(m, "Processor\t: %s rev %d (%s)\n",
+ cpu_name, (int)processor_id & 15, elf_platform);
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
loops_per_jiffy / (500000/HZ),
|
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:45
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ia64/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/arch/ia64/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.59
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ia64/kernel/setup.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- setup.c 23 Nov 2002 00:55:45 -0000 1.8
+++ setup.c 1 Feb 2003 18:57:12 -0000 1.9
@@ -363,11 +363,13 @@
#ifdef CONFIG_ACPI_BOOT
/* Initialize the ACPI boot-time table parser */
acpi_table_init(*cmdline_p);
-
-#ifdef CONFIG_ACPI_NUMA
+# ifdef CONFIG_ACPI_NUMA
acpi_numa_init();
-#endif
-
+# endif
+#else
+# ifdef CONFIG_SMP
+ smp_build_cpu_map(); /* happens, e.g., with the Ski simulator */
+# endif
#endif /* CONFIG_APCI_BOOT */
find_memory();
@@ -453,9 +455,18 @@
# define lpj loops_per_jiffy
# define cpunum 0
#endif
- char family[32], features[128], *cp;
+ static struct {
+ unsigned long mask;
+ const char *feature_name;
+ } feature_bits[] = {
+ { 1UL << 0, "branchlong" },
+ { 1UL << 1, "spontaneous deferral"},
+ { 1UL << 2, "16-byte atomic ops" }
+ };
+ char family[32], features[128], *cp, sep;
struct cpuinfo_ia64 *c = v;
unsigned long mask;
+ int i;
mask = c->features;
@@ -468,13 +479,24 @@
/* build the feature string: */
memcpy(features, " standard", 10);
cp = features;
- if (mask & 1) {
- strcpy(cp, " branchlong");
- cp = strchr(cp, '\0');
- mask &= ~1UL;
+ sep = 0;
+ for (i = 0; i < sizeof(feature_bits)/sizeof(feature_bits[0]); ++i) {
+ if (mask & feature_bits[i].mask) {
+ if (sep)
+ *cp++ = sep;
+ sep = ',';
+ *cp++ = ' ';
+ strcpy(cp, feature_bits[i].feature_name);
+ cp += strlen(feature_bits[i].feature_name);
+ mask &= ~feature_bits[i].mask;
+ }
}
- if (mask)
+ if (mask) {
+ /* print unknown features as a hex value: */
+ if (sep)
+ *cp++ = sep;
sprintf(cp, " 0x%lx", mask);
+ }
seq_printf(m,
"processor : %d\n"
@@ -614,9 +636,8 @@
* "NR_CPUS" pages for all CPUs to avoid that AP calls get_zeroed_page().
*/
if (smp_processor_id() == 0) {
- cpu_data = (unsigned long) __alloc_bootmem(PERCPU_PAGE_SIZE * NR_CPUS,
- PERCPU_PAGE_SIZE,
- __pa(MAX_DMA_ADDRESS));
+ cpu_data = __alloc_bootmem(PERCPU_PAGE_SIZE * NR_CPUS, PERCPU_PAGE_SIZE,
+ __pa(MAX_DMA_ADDRESS));
for (cpu = 0; cpu < NR_CPUS; cpu++) {
memcpy(cpu_data, __phys_per_cpu_start, __per_cpu_end - __per_cpu_start);
__per_cpu_offset[cpu] = (char *) cpu_data - __per_cpu_start;
|
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:19
|
Update of /cvsroot/linuxconsole/ruby/linux/include/linux
In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/include/linux
Modified Files:
fb.h tty.h tty_driver.h vt_kern.h
Log Message:
Synced to 2.5.59
Index: fb.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/fb.h,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- fb.h 1 Nov 2002 22:58:06 -0000 1.50
+++ fb.h 1 Feb 2003 18:57:15 -0000 1.51
@@ -18,7 +18,7 @@
#define FBIOGETCMAP 0x4604
#define FBIOPUTCMAP 0x4605
#define FBIOPAN_DISPLAY 0x4606
-#define FBIO_CURSOR _IOWR('F', 0x08, struct fbcursor)
+#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor)
/* 0x4607-0x460B are defined below */
/* #define FBIOGET_MONITORSPEC 0x460C */
/* #define FBIOPUT_MONITORSPEC 0x460D */
@@ -97,6 +97,7 @@
#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */
#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */
#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */
+#define FB_ACCEL_I810 39 /* Intel 810/815 */
#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */
#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */
@@ -210,7 +211,8 @@
__u32 vsync_len; /* length of vertical sync */
__u32 sync; /* see FB_SYNC_* */
__u32 vmode; /* see FB_VMODE_* */
- __u32 reserved[6]; /* Reserved for future compatibility */
+ __u32 rotate; /* angle we rotate counter clockwise */
+ __u32 reserved[5]; /* Reserved for future compatibility */
};
struct fb_cmap {
@@ -222,11 +224,6 @@
__u16 *transp; /* transparency, can be NULL */
};
-struct fb_index {
- __u32 len; /* number of entries */
- __u32 *entry; /* "pseudopalette" color index entries */
-};
-
struct fb_con2fbmap {
__u32 console;
__u32 framebuffer;
@@ -243,6 +240,9 @@
__u32 hfmax; /* hfreq upper limit (Hz) */
__u16 vfmin; /* vfreq lower limit (Hz) */
__u16 vfmax; /* vfreq upper limit (Hz) */
+ __u32 dclkmin; /* pixelclock lower limit (Hz) */
+ __u32 dclkmax; /* pixelclock upper limit (Hz) */
+ unsigned gtf : 1; /* supports GTF */
unsigned dpms : 1; /* supports DPMS */
};
@@ -264,49 +264,17 @@
__u32 reserved[4]; /* reserved for future compatibility */
};
-/*
- * hardware cursor control
- */
-
-#define FB_CUR_SETCUR 0x01
-#define FB_CUR_SETPOS 0x02
-#define FB_CUR_SETHOT 0x04
-#define FB_CUR_SETCMAP 0x08
-#define FB_CUR_SETSHAPE 0x10
-#define FB_CUR_SETDEST 0x20
-#define FB_CUR_SETSIZE 0x40
-#define FB_CUR_SETALL 0xFF
-
-struct fbcurpos {
- __u16 x, y;
-};
-
-struct fbcursor {
- __u16 set; /* what to set */
- __u16 enable; /* cursor on/off */
- __u8 rop; /* bitop operation */
- __u8 depth; /* color depth of image */
- struct fbcurpos pos; /* cursor position */
- struct fbcurpos hot; /* cursor hot spot */
- struct fbcurpos size; /* cursor bit map size */
- struct fb_cmap cmap; /* color map info */
- struct fb_index *index;
- char *image; /* cursor image bits */
- char *mask; /* cursor mask bits */
- char *dest; /* destination */
-};
-
/* Internal HW accel */
#define ROP_COPY 0
#define ROP_XOR 1
struct fb_copyarea {
- __u32 sx; /* screen-relative */
- __u32 sy;
__u32 dx;
__u32 dy;
__u32 width;
__u32 height;
+ __u32 sx;
+ __u32 sy;
};
struct fb_fillrect {
@@ -319,14 +287,42 @@
};
struct fb_image {
- __u32 dx; /* Where to place image */
+ __u32 dx; /* Where to place image */
__u32 dy;
- __u32 width; /* Size of image */
+ __u32 width; /* Size of image */
__u32 height;
- __u32 fg_color; /* Only used when a mono bitmap */
+ __u32 fg_color; /* Only used when a mono bitmap */
__u32 bg_color;
- __u8 depth; /* Depth of the image */
- char *data; /* Pointer to image data */
+ __u8 depth; /* Depth of the image */
+ char *data; /* Pointer to image data */
+ struct fb_cmap cmap; /* color map info */
+};
+
+/*
+ * hardware cursor control
+ */
+
+#define FB_CUR_SETCUR 0x01
+#define FB_CUR_SETPOS 0x02
+#define FB_CUR_SETHOT 0x04
+#define FB_CUR_SETCMAP 0x08
+#define FB_CUR_SETSHAPE 0x10
+#define FB_CUR_SETDEST 0x20
+#define FB_CUR_SETSIZE 0x40
+#define FB_CUR_SETALL 0xFF
+
+struct fbcurpos {
+ __u16 x, y;
+};
+
+struct fb_cursor {
+ __u16 set; /* what to set */
+ __u16 enable; /* cursor on/off */
+ __u16 rop; /* bitop operation */
+ char *mask; /* cursor mask bits */
+ char *dest; /* destination */
+ struct fbcurpos hot; /* cursor hot spot */
+ struct fb_image image; /* Cursor image */
};
#ifdef __KERNEL__
@@ -370,11 +366,13 @@
/* Draws a image to the display */
void (*fb_imageblit)(struct fb_info *info, struct fb_image *image);
/* Draws cursor */
- int (*fb_cursor)(struct fb_info *info, struct fbcursor *cursor);
+ int (*fb_cursor)(struct fb_info *info, struct fb_cursor *cursor);
+ /* Rotates the display */
+ void (*fb_rotate)(struct fb_info *info, int angle);
/* perform polling on fb device */
int (*fb_poll)(struct fb_info *info, poll_table *wait);
/* wait for blit idle, optional */
- void (*fb_sync)(struct fb_info *info);
+ int (*fb_sync)(struct fb_info *info);
/* perform fb specific ioctl (optional) */
int (*fb_ioctl)(struct inode *inode, struct file *file, unsigned int cmd,
unsigned long arg, struct fb_info *info);
@@ -390,14 +388,12 @@
struct fb_var_screeninfo var; /* Current var */
struct fb_fix_screeninfo fix; /* Current fix */
struct fb_monspecs monspecs; /* Current Monitor specs */
- struct fbcursor cursor; /* Current cursor */
+ struct fb_cursor cursor; /* Current cursor */
struct fb_cmap cmap; /* Current cmap */
struct fb_ops *fbops;
char *screen_base; /* Virtual address */
struct vc_data *display_fg; /* Console visible on this display */
int currcon; /* Current VC. */
- devfs_handle_t devfs_handle; /* Devfs handle for new name */
- devfs_handle_t devfs_lhandle; /* Devfs handle for compat. symlink */
void *pseudo_palette; /* Fake palette of 16 colors and
the cursor's color for non
palette mode */
@@ -420,9 +416,11 @@
#define fb_readb sbus_readb
#define fb_readw sbus_readw
#define fb_readl sbus_readl
+#define fb_readq sbus_readq
#define fb_writeb sbus_writeb
#define fb_writew sbus_writew
#define fb_writel sbus_writel
+#define fb_writeq sbus_writeq
#define fb_memset sbus_memset_io
#elif defined(__i386__) || defined(__alpha__) || defined(__x86_64__) || defined(__hppa__)
@@ -430,9 +428,11 @@
#define fb_readb __raw_readb
#define fb_readw __raw_readw
#define fb_readl __raw_readl
+#define fb_readq __raw_readq
#define fb_writeb __raw_writeb
#define fb_writew __raw_writew
#define fb_writel __raw_writel
+#define fb_writeq __raw_writeq
#define fb_memset memset_io
#else
@@ -440,9 +440,11 @@
#define fb_readb(addr) (*(volatile u8 *) (addr))
#define fb_readw(addr) (*(volatile u16 *) (addr))
#define fb_readl(addr) (*(volatile u32 *) (addr))
+#define fb_readq(addr) (*(volatile u64 *) (addr))
#define fb_writeb(b,addr) (*(volatile u8 *) (addr) = (b))
#define fb_writew(b,addr) (*(volatile u16 *) (addr) = (b))
#define fb_writel(b,addr) (*(volatile u32 *) (addr) = (b))
+#define fb_writeq(b,addr) (*(volatile u64 *) (addr) = (b))
#define fb_memset memset
#endif
@@ -454,7 +456,7 @@
extern int fb_set_var(struct fb_var_screeninfo *var, struct fb_info *info);
extern int fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info);
extern int fb_blank(int blank, struct fb_info *info);
-extern int cfb_cursor(struct fb_info *info, struct fbcursor *cursor);
+extern int soft_cursor(struct fb_info *info, struct fb_cursor *cursor);
extern void cfb_fillrect(struct fb_info *info, struct fb_fillrect *rect);
extern void cfb_copyarea(struct fb_info *info, struct fb_copyarea *area);
extern void cfb_imageblit(struct fb_info *info, struct fb_image *image);
@@ -462,14 +464,24 @@
/* drivers/video/fbmem.c */
extern int register_framebuffer(struct fb_info *fb_info);
extern int unregister_framebuffer(struct fb_info *fb_info);
-
-extern int num_registered_fb;
+extern int fb_show_logo(struct fb_info *fb_info);
extern struct fb_info *registered_fb[FB_MAX];
+extern int num_registered_fb;
/* drivers/video/fbmon.c */
+#define FB_MAXTIMINGS 0
+#define FB_VSYNCTIMINGS 1
+#define FB_HSYNCTIMINGS 2
+#define FB_DCLKTIMINGS 3
+#define FB_IGNOREMON 0x100
+
extern int fbmon_valid_timings(u_int pixclock, u_int htotal, u_int vtotal,
const struct fb_info *fb_info);
extern int fbmon_dpms(const struct fb_info *fb_info);
+extern int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var,
+ struct fb_info *info);
+extern int fb_validate_mode(struct fb_var_screeninfo *var,
+ struct fb_info *info);
/* drivers/video/fbcmap.c */
extern int fb_alloc_cmap(struct fb_cmap *cmap, int len, int transp);
Index: tty.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/tty.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- tty.h 5 Nov 2002 14:36:21 -0000 1.13
+++ tty.h 1 Feb 2003 18:57:15 -0000 1.14
@@ -367,9 +367,8 @@
extern int tty_register_driver(struct tty_driver *driver);
extern int tty_unregister_driver(struct tty_driver *driver);
extern struct tty_driver *get_tty_driver(kdev_t device);
-extern void tty_register_devfs (struct tty_driver *driver, unsigned int flags,
- unsigned minor);
-extern void tty_unregister_devfs (struct tty_driver *driver, unsigned minor);
+extern void tty_register_device(struct tty_driver *driver, unsigned minor);
+extern void tty_unregister_device(struct tty_driver *driver, unsigned minor);
extern int tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp,
int buflen);
extern void tty_write_message(struct tty_struct *tty, char *msg);
@@ -385,6 +384,7 @@
extern void disassociate_ctty(int priv);
extern void tty_flip_buffer_push(struct tty_struct *tty);
extern int tty_get_baud_rate(struct tty_struct *tty);
+extern int tty_termios_baud_rate(struct termios *termios);
/* n_tty.c */
extern struct tty_ldisc tty_ldisc_N_TTY;
Index: tty_driver.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/tty_driver.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- tty_driver.h 1 Nov 2002 22:59:39 -0000 1.6
+++ tty_driver.h 1 Feb 2003 18:57:15 -0000 1.7
@@ -120,6 +120,7 @@
struct tty_driver {
int magic; /* magic number for this structure */
+ struct module *owner;
const char *driver_name;
const char *name;
int name_base; /* offset of printed name */
@@ -226,5 +227,7 @@
/* serial subtype definitions */
#define SERIAL_TYPE_NORMAL 1
#define SERIAL_TYPE_CALLOUT 2
+
+extern struct device_class tty_devclass;
#endif /* #ifdef _LINUX_TTY_DRIVER_H */
Index: vt_kern.h
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/vt_kern.h,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- vt_kern.h 1 Nov 2002 23:01:31 -0000 1.67
+++ vt_kern.h 1 Feb 2003 18:57:15 -0000 1.68
@@ -99,6 +99,8 @@
unsigned int vc_saved_y;
unsigned int vc_state; /* Escape sequence parser state */
unsigned int vc_npar, vc_par[NPAR]; /* Parameters of current escape sequence */
+ unsigned char ledstate;
+ unsigned char ledioctl;
struct kbd_struct kbd_table; /* VC keyboard state */
unsigned short vc_hi_font_mask; /* [#] Attribute set for upper 256 chars of font or 0 if not supported */
struct console_font_op vc_font; /* VC current font set */
|
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:19
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/riva In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/drivers/video/riva Removed Files: Makefile fbdev.c rivafb.h Log Message: Synced to 2.5.59 --- Makefile DELETED --- --- fbdev.c DELETED --- --- rivafb.h DELETED --- |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:19
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/drivers/char Modified Files: Kconfig Makefile n_tty.c sysrq.c tty_io.c vt.c Removed Files: misc.c Log Message: Synced to 2.5.59 Index: Kconfig =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Kconfig,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Kconfig 10 Dec 2002 21:06:15 -0000 1.3 +++ Kconfig 1 Feb 2003 18:57:14 -0000 1.4 @@ -6,7 +6,7 @@ config VT bool "Virtual terminal" - depends on INPUT=y + requires INPUT=y ---help--- If you say Y here, you will get support for terminal devices with display and keyboard devices. These are called "virtual" because you @@ -34,9 +34,12 @@ If unsure, say Y, or else you won't be able to do much with your new shiny Linux system :-) -# if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then -# bool ' ISO6429 bidirectional support (EXPERIMENTAL)' CONFIG_VT_BDSM -# fi +config VT_BDSM + bool " ISO6429 bidirectional support" + depends on VT + ---help--- + If you say Y here, you will get support for the ability to type left + to right or right to left. config VT_CONSOLE bool "Support for console on virtual terminal" @@ -641,6 +644,8 @@ comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/" depends on QIC02_TAPE && QIC02_DYNCONF +source "drivers/char/ipmi/Kconfig" + source "drivers/char/watchdog/Kconfig" config DS1620 @@ -776,6 +781,7 @@ config RTC tristate "Enhanced Real Time Clock Support" + depends on !PPC32 && !PARISC && !IA64 ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you @@ -820,7 +826,7 @@ inserted in and removed from the running kernel whenever you want). The module is called genrtc.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. To load the - module automaticaly add 'alias char-major-10-135 genrtc' to your + module automatically add 'alias char-major-10-135 genrtc' to your /etc/modules.conf config GEN_RTC_X Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v retrieving revision 1.52 retrieving revision 1.53 diff -u -d -r1.52 -r1.53 --- Makefile 10 Dec 2002 21:06:16 -0000 1.52 +++ Makefile 1 Feb 2003 18:57:14 -0000 1.53 @@ -82,12 +82,11 @@ obj-$(CONFIG_AGP) += agp/ obj-$(CONFIG_DRM) += drm/ obj-$(CONFIG_PCMCIA) += pcmcia/ +obj-$(CONFIG_IPMI_HANDLER) += ipmi/ # Files generated that shall be removed upon make clean clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c - -include $(TOPDIR)/Rules.make $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(call do_cmd,CONMK $@,$(objtree)/scripts/conmakehash $< > $@) Index: n_tty.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/n_tty.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- n_tty.c 30 Oct 2002 16:57:54 -0000 1.8 +++ n_tty.c 1 Feb 2003 18:57:14 -0000 1.9 @@ -46,10 +46,6 @@ #define IS_SYSCONS_DEV(dev) (kdev_val(dev) == __mkdev(TTYAUX_MAJOR,1)) -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* number of characters left in xmit buffer before select has we have room */ #define WAKEUP_CHARS 256 @@ -723,16 +719,18 @@ if (tty->real_raw) { spin_lock_irqsave(&tty->read_lock, cpuflags); - i = MIN(count, MIN(N_TTY_BUF_SIZE - tty->read_cnt, - N_TTY_BUF_SIZE - tty->read_head)); + i = min(N_TTY_BUF_SIZE - tty->read_cnt, + N_TTY_BUF_SIZE - tty->read_head); + i = min(count, i); memcpy(tty->read_buf + tty->read_head, cp, i); tty->read_head = (tty->read_head + i) & (N_TTY_BUF_SIZE-1); tty->read_cnt += i; cp += i; count -= i; - i = MIN(count, MIN(N_TTY_BUF_SIZE - tty->read_cnt, - N_TTY_BUF_SIZE - tty->read_head)); + i = min(N_TTY_BUF_SIZE - tty->read_cnt, + N_TTY_BUF_SIZE - tty->read_head); + i = min(count, i); memcpy(tty->read_buf + tty->read_head, cp, i); tty->read_head = (tty->read_head + i) & (N_TTY_BUF_SIZE-1); tty->read_cnt += i; @@ -913,7 +911,8 @@ retval = 0; spin_lock_irqsave(&tty->read_lock, flags); - n = MIN(*nr, MIN(tty->read_cnt, N_TTY_BUF_SIZE - tty->read_tail)); + n = min(tty->read_cnt, N_TTY_BUF_SIZE - tty->read_tail); + n = min((ssize_t)*nr, n); spin_unlock_irqrestore(&tty->read_lock, flags); if (n) { mb(); Index: sysrq.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/sysrq.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- sysrq.c 10 Dec 2002 21:06:17 -0000 1.27 +++ sysrq.c 1 Feb 2003 18:57:14 -0000 1.28 @@ -26,6 +26,7 @@ #include <linux/vt_kern.h> #include <linux/quotaops.h> #include <linux/smp_lock.h> +#include <linux/kernel.h> #include <linux/module.h> #include <linux/suspend.h> #include <linux/writeback.h> @@ -35,10 +36,6 @@ #include <asm/ptrace.h> -#ifdef CONFIG_VOYAGER -#include <asm/voyager.h> -#endif - extern struct list_head super_blocks; /* Whether we react on sysrq keys or just ignore them */ @@ -323,14 +320,6 @@ .action_msg = "Terminate All Tasks", }; -#ifdef CONFIG_VOYAGER -static struct sysrq_key_op sysrq_voyager_dump_op = { - .handler = voyager_dump, - .help_msg = "voyager", - .action_msg = "Dump Voyager Status\n", -}; -#endif - static void sysrq_handle_kill(int key, struct pt_regs *pt_regs, struct tty_struct *tty) { @@ -364,11 +353,7 @@ it is handled specially on the sparc and will never arrive */ /* b */ &sysrq_reboot_op, -#ifdef CONFIG_VOYAGER -/* c */ &sysrq_voyager_dump_op, -#else -/* c */ NULL, -#endif +/* c */ NULL, /* d */ NULL, /* e */ &sysrq_term_op, /* f */ NULL, @@ -396,7 +381,7 @@ /* s */ &sysrq_sync_op, /* t */ &sysrq_showstate_op, /* u */ &sysrq_mountro_op, -/* v */ NULL, +/* v */ NULL, /* May be assigned at init time by SMP VOYAGER */ /* w */ NULL, /* x */ NULL, /* y */ NULL, Index: tty_io.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- tty_io.c 10 Dec 2002 21:06:17 -0000 1.56 +++ tty_io.c 1 Feb 2003 18:57:14 -0000 1.57 @@ -89,6 +89,7 @@ #include <linux/init.h> #include <linux/module.h> #include <linux/smp_lock.h> +#include <linux/device.h> #include <asm/uaccess.h> #include <asm/system.h> @@ -154,13 +155,6 @@ extern void tx3912_rs_init(void); extern void hvc_console_init(void); -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif -#ifndef MAX -#define MAX(a,b) ((a) < (b) ? (b) : (a)) -#endif - static struct tty_struct *alloc_tty_struct(void) { struct tty_struct *tty; @@ -708,7 +702,7 @@ unlock_kernel(); } else { for (;;) { - unsigned long size = MAX(PAGE_SIZE*2,16384); + unsigned long size = max((unsigned long)PAGE_SIZE*2, 16384UL); if (size > count) size = count; lock_kernel(); @@ -833,6 +827,11 @@ * and locked termios may be retained.) */ + if (!try_module_get(driver->owner)) { + retval = -ENODEV; + goto end_init; + } + o_tty = NULL; tp = o_tp = NULL; ltp = o_ltp = NULL; @@ -991,6 +990,7 @@ free_tty_struct(tty); fail_no_mem: + module_put(driver->owner); retval = -ENOMEM; goto end_init; @@ -1033,6 +1033,7 @@ tty->magic = 0; (*tty->driver.refcount)--; list_del(&tty->tty_files); + module_put(tty->driver.owner); free_tty_struct(tty); } @@ -1339,7 +1340,7 @@ set_bit(TTY_PTY_LOCK, &tty->flags); /* LOCK THE SLAVE */ minor -= driver->minor_start; devpts_pty_new(driver->other->name_base + minor, MKDEV(driver->other->major, minor + driver->other->minor_start)); - tty_register_devfs(&pts_driver[major], DEVFS_FL_DEFAULT, + tty_register_device(&pts_driver[major], pts_driver[major].minor_start + minor); noctty = 1; goto init_dev_done; @@ -1830,6 +1831,8 @@ #else struct tty_struct *tty = arg; struct task_struct *p; + struct list_head *l; + struct pid *pid; int session; int i; struct file *filp; @@ -1842,9 +1845,8 @@ if (tty->driver.flush_buffer) tty->driver.flush_buffer(tty); read_lock(&tasklist_lock); - for_each_process(p) { - if ((p->tty == tty) || - ((session > 0) && (p->session == session))) { + for_each_task_pid(session, PIDTYPE_SID, p, l, pid) { + if (p->tty == tty || session > 0) { printk(KERN_NOTICE "SAK: killed process %d" " (%s): p->session==tty->session\n", p->pid, p->comm); @@ -2026,9 +2028,6 @@ tty->driver.write(tty, 0, &ch, 1); } -/* - * Register a tty device described by <driver>, with minor number <minor>. - */ void tty_register_devfs (struct tty_driver *driver, unsigned int flags, unsigned minor) { #ifdef CONFIG_DEVFS_FS @@ -2065,8 +2064,21 @@ devfs_remove(driver->name, minor-driver->minor_start+driver->name_base); } -EXPORT_SYMBOL(tty_register_devfs); -EXPORT_SYMBOL(tty_unregister_devfs); +/* + * Register a tty device described by <driver>, with minor number <minor>. + */ +void tty_register_device (struct tty_driver *driver, unsigned minor) +{ + tty_register_devfs(driver, 0, minor); +} + +void tty_unregister_device (struct tty_driver *driver, unsigned minor) +{ + tty_unregister_devfs(driver, minor); +} + +EXPORT_SYMBOL(tty_register_device); +EXPORT_SYMBOL(tty_unregister_device); /* * Called by a tty driver to register itself. @@ -2092,7 +2104,7 @@ if ( !(driver->flags & TTY_DRIVER_NO_DEVFS) ) { for(i = 0; i < driver->num; i++) - tty_register_devfs(driver, 0, driver->minor_start + i); + tty_register_device(driver, driver->minor_start + i); } proc_tty_register_driver(driver); return error; @@ -2147,7 +2159,7 @@ driver->termios_locked[i] = NULL; kfree(tp); } - tty_unregister_devfs(driver, driver->minor_start + i); + tty_unregister_device(driver, driver->minor_start + i); } proc_tty_unregister_driver(driver); return 0; @@ -2248,12 +2260,19 @@ extern int vty_init(void); #endif +struct device_class tty_devclass = { + .name = "tty", +}; +EXPORT_SYMBOL(tty_devclass); + /* * Ok, now we can initialize the rest of the tty devices and can count * on memory allocations, interrupts etc.. */ void __init tty_init(void) { + devclass_register(&tty_devclass); + /* * dev_tty_driver are a actually magic device which * get redirected at open time. Nevertheless, Index: vt.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/vt.c,v retrieving revision 1.124 retrieving revision 1.125 diff -u -d -r1.124 -r1.125 --- vt.c 23 Nov 2002 00:55:50 -0000 1.124 +++ vt.c 1 Feb 2003 18:57:14 -0000 1.125 @@ -317,7 +317,7 @@ return; d = (unsigned short *) (origin+video_size_row*t); s = (unsigned short *) (origin+video_size_row*(t+nr)); - scr_memcpyw(d, s, (b-t-nr) * video_size_row); + scr_memmovew(d, s, (b-t-nr) * video_size_row); scr_memsetw(d + (b-t-nr) * video_num_columns, video_erase_char, video_size_row*nr); } --- misc.c DELETED --- |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:19
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/tc In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/drivers/tc Modified Files: Makefile Log Message: Synced to 2.5.59 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/tc/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 1 Nov 2002 23:38:01 -0000 1.3 +++ Makefile 1 Feb 2003 18:57:14 -0000 1.4 @@ -11,6 +11,18 @@ obj-$(CONFIG_TC) += tc.o obj-$(CONFIG_ZS) += zs.o +obj-$(CONFIG_VT) += lk201.o lk201-map.o lk201-remap.o -include $(TOPDIR)/Rules.make +$(obj)/lk201-map.o: $(obj)/lk201-map.c + +# Uncomment if you're changing the keymap and have an appropriate +# loadkeys version for the map. By default, we'll use the shipped +# versions. +# GENERATE_KEYMAP := 1 + +ifdef GENERATE_KEYMAP +$(obj)/lk201-map.c: $(obj)/%.c: $(src)/%.map + loadkeys --mktable $< > $@ + +endif |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:17
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/arch/x86_64/kernel
Modified Files:
setup.c
Log Message:
Synced to 2.5.59
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/kernel/setup.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- setup.c 10 Dec 2002 21:06:13 -0000 1.5
+++ setup.c 1 Feb 2003 18:57:13 -0000 1.6
@@ -375,7 +375,6 @@
#ifdef CONFIG_GART_IOMMU
iommu_hole_init();
#endif
- exception_table_check();
}
#ifndef CONFIG_X86_TSC
|
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:17
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/acorn/char In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/drivers/acorn/char Modified Files: Makefile Log Message: Synced to 2.5.59 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/acorn/char/Makefile,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- Makefile 10 Dec 2002 21:06:15 -0000 1.13 +++ Makefile 1 Feb 2003 18:57:14 -0000 1.14 @@ -2,8 +2,22 @@ # Makefile for the acorn character device drivers. # +obj-arc := keyb_arc.o defkeymap-acorn.o + obj-$(CONFIG_ARCH_ACORN) += i2c.o pcf8583.o +obj-$(CONFIG_L7200_KEYB) += defkeymap-l7200.o keyb_l7200.o obj-y += $(obj-$(MACHINE)) -include $(TOPDIR)/Rules.make +$(obj)/defkeymap-acorn.o: $(obj)/defkeymap-acorn.c + +# Uncomment if you're changing the keymap and have an appropriate +# loadkeys version for the map. By default, we'll use the shipped +# versions. +# GENERATE_KEYMAP := 1 + +ifdef GENERATE_KEYMAP +$(obj)/defkeymap-acorn.c: $(obj)/%.c: $(src)/%.map + loadkeys --mktable $< > $@ + +endif |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:17
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/drivers Modified Files: Makefile Log Message: Synced to 2.5.59 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- Makefile 10 Dec 2002 21:06:14 -0000 1.39 +++ Makefile 1 Feb 2003 18:57:14 -0000 1.40 @@ -44,5 +44,4 @@ obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ obj-$(CONFIG_ISDN_BOOL) += isdn/ obj-$(CONFIG_MCA) += mca/ - -include $(TOPDIR)/Rules.make +obj-$(CONFIG_EISA) += eisa/ |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:15
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc/syslib In directory sc8-pr-cvs1:/tmp/cvs-serv15026/linux/arch/ppc/syslib Removed Files: ppc4xx_setup.c Log Message: Synced to 2.5.59 --- ppc4xx_setup.c DELETED --- |
|
From: James S. <jsi...@us...> - 2003-02-01 18:57:15
|
Update of /cvsroot/linuxconsole/ruby In directory sc8-pr-cvs1:/tmp/cvs-serv15026 Added Files: AGAINST-2.5.59 Removed Files: AGAINST-2.5.51 Log Message: Synced to 2.5.59 --- NEW FILE: AGAINST-2.5.59 --- --- AGAINST-2.5.51 DELETED --- |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:53
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/char
In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/drivers/char
Modified Files:
Kconfig Makefile sysrq.c tty_io.c
Log Message:
Synced to 2.5.51
Index: Kconfig
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Kconfig,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Kconfig 23 Nov 2002 00:55:50 -0000 1.2
+++ Kconfig 10 Dec 2002 21:06:15 -0000 1.3
@@ -6,7 +6,7 @@
config VT
bool "Virtual terminal"
- depends on INPUT
+ depends on INPUT=y
---help---
If you say Y here, you will get support for terminal devices with
display and keyboard devices. These are called "virtual" because you
Index: Makefile
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/Makefile,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- Makefile 23 Nov 2002 00:55:50 -0000 1.51
+++ Makefile 10 Dec 2002 21:06:16 -0000 1.52
@@ -12,11 +12,11 @@
# All of the (potential) objects that export symbols.
# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
-export-objs := busmouse.o vt.o generic_serial.o ip2main.o \
+export-objs := busmouse.o vt.o generic_serial.o ip2main.o consolemap.o\
ite_gpio.o keyboard.o misc.o nvram.o random.o rtc.o \
selection.o sonypi.o sysrq.o tty_io.o tty_ioctl.o
-obj-$(CONFIG_VT) += vt_ioctl.o vc_screen.o consolemap.o consolemap_deftbl.o selection.o keyboard.o
+obj-$(CONFIG_VT) += vt_ioctl.o decvte.o vc_screen.o consolemap.o consolemap_deftbl.o selection.o keyboard.o
obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o
obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
@@ -77,7 +77,7 @@
obj-$(CONFIG_NWFLASH) += nwflash.o
obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o
-obj-$(CONFIG_WATCHDOGS) += watchdog/
+obj-$(CONFIG_WATCHDOG) += watchdog/
obj-$(CONFIG_MWAVE) += mwave/
obj-$(CONFIG_AGP) += agp/
obj-$(CONFIG_DRM) += drm/
Index: sysrq.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/sysrq.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
Index: tty_io.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/char/tty_io.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- tty_io.c 23 Nov 2002 00:55:50 -0000 1.55
+++ tty_io.c 10 Dec 2002 21:06:17 -0000 1.56
@@ -368,6 +368,8 @@
return -ERESTARTSYS;
}
+EXPORT_SYMBOL(tty_check_change);
+
static ssize_t hung_up_tty_read(struct file * file, char * buf,
size_t count, loff_t *ppos)
{
@@ -535,6 +537,8 @@
schedule_work(&tty->hangup_work);
}
+EXPORT_SYMBOL(tty_hangup);
+
void tty_vhangup(struct tty_struct * tty)
{
#ifdef TTY_DEBUG_HANGUP
@@ -551,6 +555,8 @@
return (filp->f_op == &hung_up_tty_fops);
}
+EXPORT_SYMBOL(tty_hung_up_p);
+
/*
* This function is typically called only by the session leader, when
* it wants to disassociate itself from its controlling tty.
@@ -1881,6 +1887,8 @@
schedule_work(&tty->SAK_work);
}
+EXPORT_SYMBOL(do_SAK);
+
/*
* This routine is called out of the software interrupt to flush data
* from the flip buffer to the line discipline.
@@ -1941,34 +1949,44 @@
#endif
};
-static int n_baud_table = sizeof(baud_table)/sizeof(int);
+static int n_baud_table = ARRAY_SIZE(baud_table);
-int tty_get_baud_rate(struct tty_struct *tty)
+int tty_termios_baud_rate(struct termios *termios)
{
- unsigned int cflag, i;
+ unsigned int cbaud = termios->c_cflag & CBAUD;
- cflag = tty->termios->c_cflag;
+ if (cbaud & CBAUDEX) {
+ cbaud &= ~CBAUDEX;
- i = cflag & CBAUD;
- if (i & CBAUDEX) {
- i &= ~CBAUDEX;
- if (i < 1 || i+15 >= n_baud_table)
- tty->termios->c_cflag &= ~CBAUDEX;
+ if (cbaud < 1 || cbaud + 15 > n_baud_table)
+ termios->c_cflag &= ~CBAUDEX;
else
- i += 15;
+ cbaud += 15;
}
- if (i==15 && tty->alt_speed) {
+
+ return baud_table[cbaud];
+}
+
+EXPORT_SYMBOL(tty_termios_baud_rate);
+
+int tty_get_baud_rate(struct tty_struct *tty)
+{
+ int baud = tty_termios_baud_rate(tty->termios);
+
+ if (baud == 38400 && tty->alt_speed) {
if (!tty->warned) {
printk(KERN_WARNING "Use of setserial/setrocket to "
"set SPD_* flags is deprecated\n");
tty->warned = 1;
}
- return(tty->alt_speed);
+ baud = tty->alt_speed;
}
- return baud_table[i];
+ return baud;
}
+EXPORT_SYMBOL(tty_get_baud_rate);
+
void tty_flip_buffer_push(struct tty_struct *tty)
{
if (tty->low_latency)
@@ -2199,7 +2217,7 @@
#ifdef CONFIG_TN3270_CONSOLE
tub3270_con_init();
#endif
-#ifdef CONFIG_TN3215
+#ifdef CONFIG_TN3215_CONSOLE
con3215_init();
#endif
#ifdef CONFIG_SCLP_CONSOLE
@@ -2329,10 +2347,7 @@
#ifdef CONFIG_TN3270
tub3270_init();
#endif
-#ifdef CONFIG_TN3215
- tty3215_init();
-#endif
-#ifdef CONFIG_SCLP
+#ifdef CONFIG_SCLP_TTY
sclp_tty_init();
#endif
#ifdef CONFIG_A2232
|
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:48
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/drivers Modified Files: Makefile Log Message: Synced to 2.5.51 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/Makefile,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- Makefile 23 Nov 2002 00:55:50 -0000 1.38 +++ Makefile 10 Dec 2002 21:06:14 -0000 1.39 @@ -8,6 +8,9 @@ obj-$(CONFIG_PCI) += pci/ obj-$(CONFIG_PARISC) += parisc/ obj-$(CONFIG_ACPI) += acpi/ +# PnP must come after ACPI since it will eventually need to check if acpi +# was used and do nothing if so +obj-$(CONFIG_PNP) += pnp/ obj-y += serial/ obj-$(CONFIG_PARPORT) += parport/ obj-y += base/ char/ block/ misc/ net/ media/ @@ -18,7 +21,7 @@ obj-$(CONFIG_SCSI) += scsi/ obj-$(CONFIG_FUSION) += message/ obj-$(CONFIG_IEEE1394) += ieee1394/ -obj-y += cdrom/ +obj-y += cdrom/ video/ obj-$(CONFIG_MTD) += mtd/ obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_DIO) += dio/ @@ -26,9 +29,7 @@ obj-$(CONFIG_ZORRO) += zorro/ obj-$(CONFIG_ALL_PPC) += macintosh/ obj-$(CONFIG_MAC) += macintosh/ -obj-$(CONFIG_PNP) += pnp/ obj-$(CONFIG_SGI) += sgi/ -obj-$(CONFIG_VT) += video/ obj-$(CONFIG_PARIDE) += block/paride/ obj-$(CONFIG_TC) += tc/ obj-$(CONFIG_USB) += usb/ @@ -42,5 +43,6 @@ obj-$(CONFIG_BT) += bluetooth/ obj-$(CONFIG_HOTPLUG_PCI) += hotplug/ obj-$(CONFIG_ISDN_BOOL) += isdn/ +obj-$(CONFIG_MCA) += mca/ include $(TOPDIR)/Rules.make |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:48
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/acorn/char In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/drivers/acorn/char Modified Files: Makefile Log Message: Synced to 2.5.51 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/acorn/char/Makefile,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Makefile 23 Nov 2002 00:55:50 -0000 1.12 +++ Makefile 10 Dec 2002 21:06:15 -0000 1.13 @@ -2,8 +2,6 @@ # Makefile for the acorn character device drivers. # -# All the objects that export symbols. - obj-$(CONFIG_ARCH_ACORN) += i2c.o pcf8583.o obj-y += $(obj-$(MACHINE)) |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:47
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/arch/x86_64/kernel Modified Files: setup.c Log Message: Synced to 2.5.51 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/kernel/setup.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:46
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32 In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/arch/x86_64/ia32 Modified Files: ia32_ioctl.c Log Message: Synced to 2.5.51 Index: ia32_ioctl.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/x86_64/ia32/ia32_ioctl.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:46
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sparc64/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/arch/sparc64/kernel
Modified Files:
ioctl32.c
Log Message:
Synced to 2.5.51
Index: ioctl32.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sparc64/kernel/ioctl32.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ioctl32.c 16 May 2002 18:01:38 -0000 1.5
+++ ioctl32.c 10 Dec 2002 21:06:09 -0000 1.6
@@ -10,6 +10,7 @@
#include <linux/config.h>
#include <linux/types.h>
+#include <linux/compat.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
@@ -46,6 +47,7 @@
#include <linux/netdevice.h>
#include <linux/raw.h>
#include <linux/smb_fs.h>
+#include <linux/ncp_fs.h>
#include <linux/blkpg.h>
#include <linux/blk.h>
#include <linux/elevator.h>
@@ -54,6 +56,7 @@
#if defined(CONFIG_BLK_DEV_LVM) || defined(CONFIG_BLK_DEV_LVM_MODULE)
#include <linux/lvm.h>
#endif /* LVM */
+#include <linux/dm-ioctl.h>
#include <scsi/scsi.h>
/* Ugly hack. */
@@ -99,6 +102,7 @@
#include <linux/usbdevice_fs.h>
#include <linux/nbd.h>
#include <linux/random.h>
+#include <linux/filter.h>
/* Use this to get at 32-bit user passed pointers.
See sys_sparc32.c for description about these. */
@@ -402,14 +406,9 @@
return err;
}
-struct timeval32 {
- int tv_sec;
- int tv_usec;
-};
-
static int do_siocgstamp(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct timeval32 *up = (struct timeval32 *)arg;
+ struct compat_timeval *up = (struct compat_timeval *)arg;
struct timeval ktv;
mm_segment_t old_fs = get_fs();
int err;
@@ -482,7 +481,7 @@
}
#endif
-static inline int dev_ifconf(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int dev_ifconf(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct ifconf32 ifc32;
struct ifconf ifc;
@@ -559,7 +558,7 @@
if (copy_from_user(&ifr, (struct ifreq32 *)arg, sizeof(struct ifreq32)))
return -EFAULT;
- ifr.ifr_data = (__kernel_caddr_t)get_free_page(GFP_KERNEL);
+ ifr.ifr_data = (__kernel_caddr_t)get_zeroed_page(GFP_KERNEL);
if (!ifr.ifr_data)
return -EAGAIN;
@@ -624,7 +623,7 @@
if (copy_from_user(&ifr, (struct ifreq32 *)arg, sizeof(struct ifreq32)))
return -EFAULT;
- ifr.ifr_data = (__kernel_caddr_t)get_free_page(GFP_KERNEL);
+ ifr.ifr_data = (__kernel_caddr_t)get_zeroed_page(GFP_KERNEL);
if (!ifr.ifr_data)
return -EAGAIN;
@@ -667,7 +666,44 @@
return err;
}
-static inline int dev_ifsioc(unsigned int fd, unsigned int cmd, unsigned long arg)
+static __inline__ void *alloc_user_space(long len)
+{
+ struct pt_regs *regs = current_thread_info()->kregs;
+ unsigned long usp = regs->u_regs[UREG_I6];
+
+ if (!(test_thread_flag(TIF_32BIT)))
+ usp += STACK_BIAS;
+
+ return (void *) (usp - len);
+}
+
+static int siocdevprivate_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct ifreq *u_ifreq64;
+ struct ifreq32 *u_ifreq32 = (struct ifreq32 *) arg;
+ char tmp_buf[IFNAMSIZ];
+ void *data64;
+ u32 data32;
+
+ if (copy_from_user(&tmp_buf[0], &(u_ifreq32->ifr_ifrn.ifrn_name[0]),
+ IFNAMSIZ))
+ return -EFAULT;
+ if (__get_user(data32, &u_ifreq32->ifr_ifru.ifru_data))
+ return -EFAULT;
+ data64 = (void *) A(data32);
+
+ u_ifreq64 = alloc_user_space(sizeof(*u_ifreq64));
+
+ /* Don't check these user accesses, just let that get trapped
+ * in the ioctl handler instead.
+ */
+ copy_to_user(&u_ifreq64->ifr_ifrn.ifrn_name[0], &tmp_buf[0], IFNAMSIZ);
+ __put_user(data64, &u_ifreq64->ifr_ifru.ifru_data);
+
+ return sys_ioctl(fd, cmd, (unsigned long) u_ifreq64);
+}
+
+static int dev_ifsioc(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct ifreq ifr;
mm_segment_t old_fs;
@@ -685,15 +721,6 @@
if (err)
return -EFAULT;
break;
- case SIOCGPPPSTATS:
- case SIOCGPPPCSTATS:
- case SIOCGPPPVER:
- if (copy_from_user(&ifr, (struct ifreq32 *)arg, sizeof(struct ifreq32)))
- return -EFAULT;
- ifr.ifr_data = (__kernel_caddr_t)get_free_page(GFP_KERNEL);
- if (!ifr.ifr_data)
- return -EAGAIN;
- break;
default:
if (copy_from_user(&ifr, (struct ifreq32 *)arg, sizeof(struct ifreq32)))
return -EFAULT;
@@ -719,27 +746,6 @@
if (copy_to_user((struct ifreq32 *)arg, &ifr, sizeof(struct ifreq32)))
return -EFAULT;
break;
- case SIOCGPPPSTATS:
- case SIOCGPPPCSTATS:
- case SIOCGPPPVER:
- {
- u32 data;
- int len;
-
- __get_user(data, &(((struct ifreq32 *)arg)->ifr_ifru.ifru_data));
- if(cmd == SIOCGPPPVER)
- len = strlen((char *)ifr.ifr_data) + 1;
- else if(cmd == SIOCGPPPCSTATS)
- len = sizeof(struct ppp_comp_stats);
- else
- len = sizeof(struct ppp_stats);
-
- len = copy_to_user((char *)A(data), ifr.ifr_data, len);
- free_page((unsigned long)ifr.ifr_data);
- if(len)
- return -EFAULT;
- break;
- }
case SIOCGIFMAP:
err = copy_to_user((struct ifreq32 *)arg, &ifr, sizeof(ifr.ifr_name));
err |= __put_user(ifr.ifr_map.mem_start, &(((struct ifreq32 *)arg)->ifr_ifru.ifru_map.mem_start));
@@ -752,14 +758,6 @@
err = -EFAULT;
break;
}
- } else {
- switch (cmd) {
- case SIOCGPPPSTATS:
- case SIOCGPPPCSTATS:
- case SIOCGPPPVER:
- free_page((unsigned long)ifr.ifr_data);
- break;
- }
}
return err;
}
@@ -796,9 +794,7 @@
s32 rtmsg_ifindex;
};
-extern struct socket *sockfd_lookup(int fd, int *err);
-
-static inline int routing_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int routing_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{
int ret;
void *r = NULL;
@@ -846,6 +842,9 @@
ret = sys_ioctl (fd, cmd, (long) r);
set_fs (old_fs);
+ if (mysock)
+ sockfd_put(mysock);
+
return ret;
}
@@ -856,7 +855,7 @@
u32 start;
};
-static inline int hdio_getgeo(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int hdio_getgeo(unsigned int fd, unsigned int cmd, unsigned long arg)
{
mm_segment_t old_fs = get_fs();
struct hd_geometry geo;
@@ -866,13 +865,41 @@
err = sys_ioctl(fd, HDIO_GETGEO, (unsigned long)&geo);
set_fs (old_fs);
if (!err) {
- err = copy_to_user ((struct hd_geometry32 *)arg, &geo, 4);
- err |= __put_user (geo.start, &(((struct hd_geometry32 *)arg)->start));
+ if (copy_to_user ((struct hd_geometry32 *)arg, &geo, 4) ||
+ __put_user (geo.start, &(((struct hd_geometry32 *)arg)->start)))
+ err = -EFAULT;
}
- return err ? -EFAULT : 0;
+ return err;
+}
+
+struct hd_big_geometry32 {
+ unsigned char heads;
+ unsigned char sectors;
+ unsigned int cylinders;
+ u32 start;
+};
+
+static int hdio_getgeo_big(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ mm_segment_t old_fs = get_fs();
+ struct hd_big_geometry geo;
+ int err;
+
+ set_fs (KERNEL_DS);
+ err = sys_ioctl(fd, cmd, (unsigned long)&geo);
+ set_fs (old_fs);
+ if (!err) {
+ struct hd_big_geometry32 *up = (struct hd_big_geometry32 *) arg;
+
+ if (put_user(geo.heads, &up->heads) ||
+ __put_user(geo.sectors, &up->sectors) ||
+ __put_user(geo.cylinders, &up->cylinders) ||
+ __put_user(((u32) geo.start), &up->start))
+ err = -EFAULT;
+ }
+ return err;
}
-#ifdef CONFIG_FB
struct fbcmap32 {
int index; /* first element (0 origin) */
int count;
@@ -884,7 +911,7 @@
#define FBIOPUTCMAP32 _IOW('F', 3, struct fbcmap32)
#define FBIOGETCMAP32 _IOW('F', 4, struct fbcmap32)
-static inline int fbiogetputcmap(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int fbiogetputcmap(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct fbcmap f;
int ret;
@@ -935,7 +962,7 @@
#define FBIOSCURSOR32 _IOW('F', 24, struct fbcursor32)
#define FBIOGCURSOR32 _IOW('F', 25, struct fbcursor32)
-static inline int fbiogscursor(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int fbiogscursor(unsigned int fd, unsigned int cmd, unsigned long arg)
{
struct fbcursor f;
int ret;
@@ -1112,7 +1139,6 @@
if (cmap.transp) kfree(cmap.transp);
return err;
}
-#endif /* CONFIG_FB */
static int hdio_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)
{
@@ -1671,6 +1697,40 @@
return err;
}
+struct sock_fprog32 {
+ __u16 len;
+ __u32 filter;
+};
+
+#define PPPIOCSPASS32 _IOW('t', 71, struct sock_fprog32)
+#define PPPIOCSACTIVE32 _IOW('t', 70, struct sock_fprog32)
+
+static int ppp_sock_fprog_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct sock_fprog32 *u_fprog32 = (struct sock_fprog32 *) arg;
+ struct sock_fprog *u_fprog64 = alloc_user_space(sizeof(struct sock_fprog));
+ void *fptr64;
+ u32 fptr32;
+ u16 flen;
+
+ if (get_user(flen, &u_fprog32->len) ||
+ get_user(fptr32, &u_fprog32->filter))
+ return -EFAULT;
+
+ fptr64 = (void *) A(fptr32);
+
+ if (put_user(flen, &u_fprog64->len) ||
+ put_user(fptr64, &u_fprog64->filter))
+ return -EFAULT;
+
+ if (cmd == PPPIOCSPASS32)
+ cmd = PPPIOCSPASS;
+ else
+ cmd = PPPIOCSACTIVE;
+
+ return sys_ioctl(fd, cmd, (unsigned long) u_fprog64);
+}
+
struct ppp_option_data32 {
__kernel_caddr_t32 ptr;
__u32 length;
@@ -1679,8 +1739,8 @@
#define PPPIOCSCOMPRESS32 _IOW('t', 77, struct ppp_option_data32)
struct ppp_idle32 {
- __kernel_time_t32 xmit_idle;
- __kernel_time_t32 recv_idle;
+ compat_time_t xmit_idle;
+ compat_time_t recv_idle;
};
#define PPPIOCGIDLE32 _IOR('t', 63, struct ppp_idle32)
@@ -2042,7 +2102,6 @@
return err;
}
-#ifdef CONFIG_VT
extern int tty_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg);
static int vt_check(struct file *file)
@@ -2077,8 +2136,6 @@
static int do_fontx_ioctl(unsigned int fd, int cmd, struct consolefontdesc32 *user_cfd, struct file *file)
{
- struct tty_struct *tty = (struct tty_struct *)file->private_data;
- struct vc_data *vc = (struct vc_data *) tty->driver_data;
struct consolefontdesc cfdarg;
struct console_font_op op;
int i, perm;
@@ -2101,7 +2158,7 @@
op.height = cfdarg.charheight;
op.charcount = cfdarg.charcount;
op.data = cfdarg.chardata;
- return con_font_op(vc->display_fg->fg_console, &op);
+ return con_font_op(fg_console, &op);
case GIO_FONTX:
if (!cfdarg.chardata)
return 0;
@@ -2111,7 +2168,7 @@
op.height = cfdarg.charheight;
op.charcount = cfdarg.charcount;
op.data = cfdarg.chardata;
- i = con_font_op(vc->display_fg->fg_console, &op);
+ i = con_font_op(fg_console, &op);
if (i)
return i;
cfdarg.charheight = op.height;
@@ -2134,8 +2191,6 @@
static int do_kdfontop_ioctl(unsigned int fd, unsigned int cmd, struct console_font_op32 *fontop, struct file *file)
{
- struct tty_struct *tty = (struct tty_struct *)file->private_data;
- struct vc_data *vc = (struct vc_data *) tty->driver_data;
struct console_font_op op;
int perm = vt_check(file), i;
struct vt_struct *vt;
@@ -2148,7 +2203,8 @@
return -EPERM;
op.data = (unsigned char *)A(((struct console_font_op32 *)&op)->data);
op.flags |= KD_FONT_FLAG_OLD;
- i = con_font_op(vc, &op);
+ vt = (struct vt_struct *)((struct tty_struct *)file->private_data)->driver_data;
+ i = con_font_op(vt->vc_num, &op);
if (i) return i;
((struct console_font_op32 *)&op)->data = (unsigned long)op.data;
if (copy_to_user((void *) fontop, &op, sizeof(struct console_font_op32)))
@@ -2163,8 +2219,6 @@
static int do_unimap_ioctl(unsigned int fd, unsigned int cmd, struct unimapdesc32 *user_ud, struct file *file)
{
- struct tty_struct *tty = (struct tty_struct *)file->private_data;
- struct vc_data *vc = (struct vc_data *) tty->driver_data;
struct unimapdesc32 tmp;
int perm = vt_check(file);
@@ -2174,13 +2228,12 @@
switch (cmd) {
case PIO_UNIMAP:
if (!perm) return -EPERM;
- return con_set_unimap(vc->display_fg->fg_console, tmp.entry_ct, (struct unipair *)A(tmp.entries));
+ return con_set_unimap(fg_console, tmp.entry_ct, (struct unipair *)A(tmp.entries));
case GIO_UNIMAP:
- return con_get_unimap(vc->display_fg->fg_console, tmp.entry_ct, &(user_ud->entry_ct), (struct unipair *)A(tmp.entries));
+ return con_get_unimap(fg_console, tmp.entry_ct, &(user_ud->entry_ct), (struct unipair *)A(tmp.entries));
}
return 0;
}
-#endif /* CONFIG_VT */
static int do_smb_getmountuid(unsigned int fd, unsigned int cmd, unsigned long arg)
{
@@ -2200,6 +2253,307 @@
return err;
}
+struct ncp_ioctl_request_32 {
+ unsigned int function;
+ unsigned int size;
+ __kernel_caddr_t32 data;
+};
+
+struct ncp_fs_info_v2_32 {
+ int version;
+ unsigned int mounted_uid;
+ unsigned int connection;
+ unsigned int buffer_size;
+
+ unsigned int volume_number;
+ __u32 directory_id;
+
+ __u32 dummy1;
+ __u32 dummy2;
+ __u32 dummy3;
+};
+
+struct ncp_objectname_ioctl_32
+{
+ int auth_type;
+ unsigned int object_name_len;
+ __kernel_caddr_t32 object_name; /* an userspace data, in most cases user name */
+};
+
+struct ncp_privatedata_ioctl_32
+{
+ unsigned int len;
+ __kernel_caddr_t32 data; /* ~1000 for NDS */
+};
+
+#define NCP_IOC_NCPREQUEST_32 _IOR('n', 1, struct ncp_ioctl_request_32)
+
+#define NCP_IOC_GETMOUNTUID2_32 _IOW('n', 2, unsigned int)
+
+#define NCP_IOC_GET_FS_INFO_V2_32 _IOWR('n', 4, struct ncp_fs_info_v2_32)
+
+#define NCP_IOC_GETOBJECTNAME_32 _IOWR('n', 9, struct ncp_objectname_ioctl_32)
+#define NCP_IOC_SETOBJECTNAME_32 _IOR('n', 9, struct ncp_objectname_ioctl_32)
+#define NCP_IOC_GETPRIVATEDATA_32 _IOWR('n', 10, struct ncp_privatedata_ioctl_32)
+#define NCP_IOC_SETPRIVATEDATA_32 _IOR('n', 10, struct ncp_privatedata_ioctl_32)
+
+static int do_ncp_ncprequest(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct ncp_ioctl_request_32 n32;
+ struct ncp_ioctl_request n;
+ mm_segment_t old_fs;
+ int err;
+
+ if (copy_from_user(&n32, (struct ncp_ioctl_request_32*)arg,
+ sizeof(n32)))
+ return -EFAULT;
+
+ n.function = n32.function;
+ n.size = n32.size;
+ if (n.size > 65536)
+ return -EINVAL;
+ n.data = vmalloc(65536); /* 65536 must be same as NCP_PACKET_SIZE_INTERNAL in ncpfs */
+ if (!n.data)
+ return -ENOMEM;
+ err = -EFAULT;
+ if (copy_from_user(n.data, A(n32.data), n.size))
+ goto out;
+
+ old_fs = get_fs(); set_fs (KERNEL_DS);
+ err = sys_ioctl (fd, NCP_IOC_NCPREQUEST, (unsigned long)&n);
+ set_fs (old_fs);
+ if(err <= 0)
+ goto out;
+ if (err > 65536) {
+ err = -EINVAL;
+ goto out;
+ }
+ if (copy_to_user(A(n32.data), n.data, err)) {
+ err = -EFAULT;
+ goto out;
+ }
+ out:
+ vfree(n.data);
+ return err;
+}
+
+static int do_ncp_getmountuid2(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ mm_segment_t old_fs = get_fs();
+ __kernel_uid_t kuid;
+ int err;
+
+ cmd = NCP_IOC_GETMOUNTUID2;
+
+ set_fs(KERNEL_DS);
+ err = sys_ioctl(fd, cmd, (unsigned long)&kuid);
+ set_fs(old_fs);
+
+ if (!err)
+ err = put_user(kuid, (unsigned int*)arg);
+
+ return err;
+}
+
+static int do_ncp_getfsinfo2(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ mm_segment_t old_fs = get_fs();
+ struct ncp_fs_info_v2_32 n32;
+ struct ncp_fs_info_v2 n;
+ int err;
+
+ if (copy_from_user(&n32, (struct ncp_fs_info_v2_32*)arg, sizeof(n32)))
+ return -EFAULT;
+ if (n32.version != NCP_GET_FS_INFO_VERSION_V2)
+ return -EINVAL;
+ n.version = NCP_GET_FS_INFO_VERSION_V2;
+
+ set_fs(KERNEL_DS);
+ err = sys_ioctl(fd, NCP_IOC_GET_FS_INFO_V2, (unsigned long)&n);
+ set_fs(old_fs);
+
+ if (!err) {
+ n32.version = n.version;
+ n32.mounted_uid = n.mounted_uid;
+ n32.connection = n.connection;
+ n32.buffer_size = n.buffer_size;
+ n32.volume_number = n.volume_number;
+ n32.directory_id = n.directory_id;
+ n32.dummy1 = n.dummy1;
+ n32.dummy2 = n.dummy2;
+ n32.dummy3 = n.dummy3;
+ err = copy_to_user((struct ncp_fs_info_v2_32*)arg, &n32, sizeof(n32)) ? -EFAULT : 0;
+ }
+ return err;
+}
+
+static int do_ncp_getobjectname(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct ncp_objectname_ioctl_32 n32;
+ struct ncp_objectname_ioctl n;
+ mm_segment_t old_fs;
+ int err;
+ size_t tl;
+
+ if (copy_from_user(&n32, (struct ncp_objectname_ioctl_32*)arg,
+ sizeof(n32)))
+ return -EFAULT;
+
+ n.object_name_len = tl = n32.object_name_len;
+ if (tl) {
+ n.object_name = kmalloc(tl, GFP_KERNEL);
+ if (!n.object_name)
+ return -ENOMEM;
+ } else {
+ n.object_name = NULL;
+ }
+
+ old_fs = get_fs(); set_fs (KERNEL_DS);
+ err = sys_ioctl (fd, NCP_IOC_GETOBJECTNAME, (unsigned long)&n);
+ set_fs (old_fs);
+ if(err)
+ goto out;
+
+ if (tl > n.object_name_len)
+ tl = n.object_name_len;
+
+ err = -EFAULT;
+ if (tl && copy_to_user(A(n32.object_name), n.object_name, tl))
+ goto out;
+
+ n32.auth_type = n.auth_type;
+ n32.object_name_len = n.object_name_len;
+
+ if (copy_to_user((struct ncp_objectname_ioctl_32*)arg, &n32, sizeof(n32)))
+ goto out;
+
+ err = 0;
+ out:
+ if (n.object_name)
+ kfree(n.object_name);
+
+ return err;
+}
+
+static int do_ncp_setobjectname(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct ncp_objectname_ioctl_32 n32;
+ struct ncp_objectname_ioctl n;
+ mm_segment_t old_fs;
+ int err;
+ size_t tl;
+
+ if (copy_from_user(&n32, (struct ncp_objectname_ioctl_32*)arg,
+ sizeof(n32)))
+ return -EFAULT;
+
+ n.auth_type = n32.auth_type;
+ n.object_name_len = tl = n32.object_name_len;
+ if (tl) {
+ n.object_name = kmalloc(tl, GFP_KERNEL);
+ if (!n.object_name)
+ return -ENOMEM;
+ err = -EFAULT;
+ if (copy_from_user(n.object_name, A(n32.object_name), tl))
+ goto out;
+ } else {
+ n.object_name = NULL;
+ }
+
+ old_fs = get_fs(); set_fs (KERNEL_DS);
+ err = sys_ioctl (fd, NCP_IOC_SETOBJECTNAME, (unsigned long)&n);
+ set_fs (old_fs);
+
+ out:
+ if (n.object_name)
+ kfree(n.object_name);
+
+ return err;
+}
+
+static int do_ncp_getprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct ncp_privatedata_ioctl_32 n32;
+ struct ncp_privatedata_ioctl n;
+ mm_segment_t old_fs;
+ int err;
+ size_t tl;
+
+ if (copy_from_user(&n32, (struct ncp_privatedata_ioctl_32*)arg,
+ sizeof(n32)))
+ return -EFAULT;
+
+ n.len = tl = n32.len;
+ if (tl) {
+ n.data = kmalloc(tl, GFP_KERNEL);
+ if (!n.data)
+ return -ENOMEM;
+ } else {
+ n.data = NULL;
+ }
+
+ old_fs = get_fs(); set_fs (KERNEL_DS);
+ err = sys_ioctl (fd, NCP_IOC_GETPRIVATEDATA, (unsigned long)&n);
+ set_fs (old_fs);
+ if(err)
+ goto out;
+
+ if (tl > n.len)
+ tl = n.len;
+
+ err = -EFAULT;
+ if (tl && copy_to_user(A(n32.data), n.data, tl))
+ goto out;
+
+ n32.len = n.len;
+
+ if (copy_to_user((struct ncp_privatedata_ioctl_32*)arg, &n32, sizeof(n32)))
+ goto out;
+
+ err = 0;
+ out:
+ if (n.data)
+ kfree(n.data);
+
+ return err;
+}
+
+static int do_ncp_setprivatedata(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ struct ncp_privatedata_ioctl_32 n32;
+ struct ncp_privatedata_ioctl n;
+ mm_segment_t old_fs;
+ int err;
+ size_t tl;
+
+ if (copy_from_user(&n32, (struct ncp_privatedata_ioctl_32*)arg,
+ sizeof(n32)))
+ return -EFAULT;
+
+ n.len = tl = n32.len;
+ if (tl) {
+ n.data = kmalloc(tl, GFP_KERNEL);
+ if (!n.data)
+ return -ENOMEM;
+ err = -EFAULT;
+ if (copy_from_user(n.data, A(n32.data), tl))
+ goto out;
+ } else {
+ n.data = NULL;
+ }
+
+ old_fs = get_fs(); set_fs (KERNEL_DS);
+ err = sys_ioctl (fd, NCP_IOC_SETPRIVATEDATA, (unsigned long)&n);
+ set_fs (old_fs);
+
+ out:
+ if (n.data)
+ kfree(n.data);
+
+ return err;
+}
+
+
struct atmif_sioc32 {
int number;
int length;
@@ -3843,8 +4197,7 @@
#define MEMWRITEOOB32 _IOWR('M',3,struct mtd_oob_buf32)
#define MEMREADOOB32 _IOWR('M',4,struct mtd_oob_buf32)
-static inline int
-mtd_rw_oob(unsigned int fd, unsigned int cmd, unsigned long arg)
+static int mtd_rw_oob(unsigned int fd, unsigned int cmd, unsigned long arg)
{
mm_segment_t old_fs = get_fs();
struct mtd_oob_buf32 *uarg = (struct mtd_oob_buf32 *)arg;
@@ -3890,6 +4243,39 @@
return ((0 == ret) ? 0 : -EFAULT);
}
+/* Fix sizeof(sizeof()) breakage */
+#define BLKELVGET_32 _IOR(0x12,106,int)
+#define BLKELVSET_32 _IOW(0x12,107,int)
+#define BLKBSZGET_32 _IOR(0x12,112,int)
+#define BLKBSZSET_32 _IOW(0x12,113,int)
+#define BLKGETSIZE64_32 _IOR(0x12,114,int)
+
+static int do_blkelvget(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ return sys_ioctl(fd, BLKELVGET, arg);
+}
+
+static int do_blkelvset(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ return sys_ioctl(fd, BLKELVSET, arg);
+}
+
+static int do_blkbszget(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ return sys_ioctl(fd, BLKBSZGET, arg);
+}
+
+static int do_blkbszset(unsigned int fd, unsigned int cmd, unsigned long arg)
+{
+ return sys_ioctl(fd, BLKBSZSET, arg);
+}
+
+static int do_blkgetsize64(unsigned int fd, unsigned int cmd,
+ unsigned long arg)
+{
+ return sys_ioctl(fd, BLKGETSIZE64, arg);
+}
+
struct ioctl_trans {
unsigned int cmd;
unsigned int handler;
@@ -4012,10 +4398,6 @@
COMPATIBLE_IOCTL(BLKFLSBUF)
COMPATIBLE_IOCTL(BLKSECTSET)
COMPATIBLE_IOCTL(BLKSSZGET)
-COMPATIBLE_IOCTL(BLKBSZGET)
-COMPATIBLE_IOCTL(BLKBSZSET)
-COMPATIBLE_IOCTL(BLKGETSIZE64)
-
/* RAID */
COMPATIBLE_IOCTL(RAID_VERSION)
COMPATIBLE_IOCTL(GET_ARRAY_INFO)
@@ -4248,13 +4630,16 @@
COMPATIBLE_IOCTL(PPPIOCSMRU)
COMPATIBLE_IOCTL(PPPIOCSMAXCID)
COMPATIBLE_IOCTL(PPPIOCGXASYNCMAP)
-COMPATIBLE_IOCTL(LPGETSTATUS)
COMPATIBLE_IOCTL(PPPIOCSXASYNCMAP)
COMPATIBLE_IOCTL(PPPIOCXFERUNIT)
+/* PPPIOCSCOMPRESS is translated */
COMPATIBLE_IOCTL(PPPIOCGNPMODE)
COMPATIBLE_IOCTL(PPPIOCSNPMODE)
+/* PPPIOCSPASS is translated */
+/* PPPIOCSACTIVE is translated */
COMPATIBLE_IOCTL(PPPIOCGDEBUG)
COMPATIBLE_IOCTL(PPPIOCSDEBUG)
+/* PPPIOCGIDLE is translated */
COMPATIBLE_IOCTL(PPPIOCNEWUNIT)
COMPATIBLE_IOCTL(PPPIOCATTACH)
COMPATIBLE_IOCTL(PPPIOCDETACH)
@@ -4263,6 +4648,8 @@
COMPATIBLE_IOCTL(PPPIOCDISCONN)
COMPATIBLE_IOCTL(PPPIOCATTCHAN)
COMPATIBLE_IOCTL(PPPIOCGCHAN)
+/* LP */
+COMPATIBLE_IOCTL(LPGETSTATUS)
/* PPPOX */
COMPATIBLE_IOCTL(PPPOEIOCSFWD)
COMPATIBLE_IOCTL(PPPOEIOCDFWD)
@@ -4479,6 +4866,18 @@
COMPATIBLE_IOCTL(RAW_GETBIND)
/* SMB ioctls which do not need any translations */
COMPATIBLE_IOCTL(SMB_IOC_NEWCONN)
+/* NCP ioctls which do not need any translations */
+COMPATIBLE_IOCTL(NCP_IOC_CONN_LOGGED_IN)
+COMPATIBLE_IOCTL(NCP_IOC_SIGN_INIT)
+COMPATIBLE_IOCTL(NCP_IOC_SIGN_WANTED)
+COMPATIBLE_IOCTL(NCP_IOC_SET_SIGN_WANTED)
+COMPATIBLE_IOCTL(NCP_IOC_LOCKUNLOCK)
+COMPATIBLE_IOCTL(NCP_IOC_GETROOT)
+COMPATIBLE_IOCTL(NCP_IOC_SETROOT)
+COMPATIBLE_IOCTL(NCP_IOC_GETCHARSETS)
+COMPATIBLE_IOCTL(NCP_IOC_SETCHARSETS)
+COMPATIBLE_IOCTL(NCP_IOC_GETDENTRYTTL)
+COMPATIBLE_IOCTL(NCP_IOC_SETDENTRYTTL)
/* Little a */
COMPATIBLE_IOCTL(ATMSIGD_CTRL)
COMPATIBLE_IOCTL(ATMARPD_CTRL)
@@ -4538,9 +4937,6 @@
COMPATIBLE_IOCTL(DRM_IOCTL_UNLOCK)
COMPATIBLE_IOCTL(DRM_IOCTL_FINISH)
#endif /* DRM */
-/* elevator */
-COMPATIBLE_IOCTL(BLKELVGET)
-COMPATIBLE_IOCTL(BLKELVSET)
/* Big W */
/* WIOC_GETSUPPORT not yet implemented -E */
COMPATIBLE_IOCTL(WDIOC_GETSTATUS)
@@ -4613,6 +5009,19 @@
COMPATIBLE_IOCTL(NBD_PRINT_DEBUG)
COMPATIBLE_IOCTL(NBD_SET_SIZE_BLOCKS)
COMPATIBLE_IOCTL(NBD_DISCONNECT)
+/* device-mapper */
+COMPATIBLE_IOCTL(DM_VERSION)
+COMPATIBLE_IOCTL(DM_REMOVE_ALL)
+COMPATIBLE_IOCTL(DM_DEV_CREATE)
+COMPATIBLE_IOCTL(DM_DEV_REMOVE)
+COMPATIBLE_IOCTL(DM_DEV_RELOAD)
+COMPATIBLE_IOCTL(DM_DEV_SUSPEND)
+COMPATIBLE_IOCTL(DM_DEV_RENAME)
+COMPATIBLE_IOCTL(DM_DEV_DEPS)
+COMPATIBLE_IOCTL(DM_DEV_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_STATUS)
+COMPATIBLE_IOCTL(DM_TARGET_WAIT)
+
/* And these ioctls need translation */
HANDLE_IOCTL(MEMREADOOB32, mtd_rw_oob)
HANDLE_IOCTL(MEMWRITEOOB32, mtd_rw_oob)
@@ -4645,9 +5054,6 @@
HANDLE_IOCTL(SIOCSIFNETMASK, dev_ifsioc)
HANDLE_IOCTL(SIOCSIFPFLAGS, dev_ifsioc)
HANDLE_IOCTL(SIOCGIFPFLAGS, dev_ifsioc)
-HANDLE_IOCTL(SIOCGPPPSTATS, dev_ifsioc)
-HANDLE_IOCTL(SIOCGPPPCSTATS, dev_ifsioc)
-HANDLE_IOCTL(SIOCGPPPVER, dev_ifsioc)
HANDLE_IOCTL(SIOCGIFTXQLEN, dev_ifsioc)
HANDLE_IOCTL(SIOCSIFTXQLEN, dev_ifsioc)
HANDLE_IOCTL(SIOCETHTOOL, ethtool_ioctl)
@@ -4663,6 +5069,7 @@
HANDLE_IOCTL(SIOCRTMSG, ret_einval)
HANDLE_IOCTL(SIOCGSTAMP, do_siocgstamp)
HANDLE_IOCTL(HDIO_GETGEO, hdio_getgeo)
+HANDLE_IOCTL(HDIO_GETGEO_BIG_RAW, hdio_getgeo_big)
HANDLE_IOCTL(BLKGETSIZE, w_long)
HANDLE_IOCTL(0x1260, broken_blkgetsize)
HANDLE_IOCTL(BLKSECTGET, w_long)
@@ -4691,6 +5098,8 @@
HANDLE_IOCTL(SG_IO,sg_ioctl_trans)
HANDLE_IOCTL(PPPIOCGIDLE32, ppp_ioctl_trans)
HANDLE_IOCTL(PPPIOCSCOMPRESS32, ppp_ioctl_trans)
+HANDLE_IOCTL(PPPIOCSPASS32, ppp_sock_fprog_ioctl_trans)
+HANDLE_IOCTL(PPPIOCSACTIVE32, ppp_sock_fprog_ioctl_trans)
HANDLE_IOCTL(MTIOCGET32, mt_ioctl_trans)
HANDLE_IOCTL(MTIOCPOS32, mt_ioctl_trans)
HANDLE_IOCTL(MTIOCGETCONFIG32, mt_ioctl_trans)
@@ -4726,6 +5135,14 @@
/* One SMB ioctl needs translations. */
#define SMB_IOC_GETMOUNTUID_32 _IOR('u', 1, __kernel_uid_t32)
HANDLE_IOCTL(SMB_IOC_GETMOUNTUID_32, do_smb_getmountuid)
+/* NCPFS */
+HANDLE_IOCTL(NCP_IOC_NCPREQUEST_32, do_ncp_ncprequest)
+HANDLE_IOCTL(NCP_IOC_GETMOUNTUID2_32, do_ncp_getmountuid2)
+HANDLE_IOCTL(NCP_IOC_GET_FS_INFO_V2_32, do_ncp_getfsinfo2)
+HANDLE_IOCTL(NCP_IOC_GETOBJECTNAME_32, do_ncp_getobjectname)
+HANDLE_IOCTL(NCP_IOC_SETOBJECTNAME_32, do_ncp_setobjectname)
+HANDLE_IOCTL(NCP_IOC_GETPRIVATEDATA_32, do_ncp_getprivatedata)
+HANDLE_IOCTL(NCP_IOC_SETPRIVATEDATA_32, do_ncp_setprivatedata)
HANDLE_IOCTL(ATM_GETLINKRATE32, do_atm_ioctl)
HANDLE_IOCTL(ATM_GETNAMES32, do_atm_ioctl)
HANDLE_IOCTL(ATM_GETTYPE32, do_atm_ioctl)
@@ -4790,6 +5207,14 @@
HANDLE_IOCTL(USBDEVFS_REAPURB32, do_usbdevfs_reapurb)
HANDLE_IOCTL(USBDEVFS_REAPURBNDELAY32, do_usbdevfs_reapurb)
HANDLE_IOCTL(USBDEVFS_DISCSIGNAL32, do_usbdevfs_discsignal)
+/* take care of sizeof(sizeof()) breakage */
+/* elevator */
+HANDLE_IOCTL(BLKELVGET_32, do_blkelvget)
+HANDLE_IOCTL(BLKELVSET_32, do_blkelvset)
+/* block stuff */
+HANDLE_IOCTL(BLKBSZGET_32, do_blkbszget)
+HANDLE_IOCTL(BLKBSZSET_32, do_blkbszset)
+HANDLE_IOCTL(BLKGETSIZE64_32, do_blkgetsize64)
IOCTL_TABLE_END
unsigned int ioctl32_hash_table[1024];
@@ -4836,7 +5261,7 @@
{
int i;
if (!additional_ioctls) {
- additional_ioctls = module_map(PAGE_SIZE);
+ additional_ioctls = vmalloc(PAGE_SIZE);
if (!additional_ioctls)
return -ENOMEM;
memset(additional_ioctls, 0, PAGE_SIZE);
@@ -4866,13 +5291,15 @@
(unsigned long)t < ((unsigned long)additional_ioctls) + PAGE_SIZE) {
ioctl32_hash_table[hash] = t->next;
t->cmd = 0;
+ t->next = 0;
return 0;
} else while (t->next) {
t1 = (struct ioctl_trans *)(long)t->next;
if (t1->cmd == cmd && t1 >= additional_ioctls &&
(unsigned long)t1 < ((unsigned long)additional_ioctls) + PAGE_SIZE) {
- t1->cmd = 0;
t->next = t1->next;
+ t1->cmd = 0;
+ t1->next = 0;
return 0;
}
t = t1;
@@ -4903,6 +5330,9 @@
if (t) {
handler = (void *)(long)t->handler;
error = handler(fd, cmd, arg, filp);
+ } else if (cmd >= SIOCDEVPRIVATE &&
+ cmd <= (SIOCDEVPRIVATE + 15)) {
+ error = siocdevprivate_ioctl(fd, cmd, arg);
} else {
static int count;
if (++count <= 20)
|
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:41
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sh/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/arch/sh/kernel Modified Files: setup.c Log Message: Synced to 2.5.51 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sh/kernel/setup.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:41
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/sparc/kernel In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/arch/sparc/kernel Modified Files: setup.c Log Message: Synced to 2.5.51 Index: setup.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/arch/sparc/kernel/setup.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:40
|
Update of /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel
In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/arch/ppc64/kernel
Modified Files:
chrp_setup.c ioctl32.c
Log Message:
Synced to 2.5.51
Index: chrp_setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/chrp_setup.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- chrp_setup.c 23 Nov 2002 00:55:48 -0000 1.5
+++ chrp_setup.c 10 Dec 2002 21:06:03 -0000 1.6
@@ -65,7 +65,6 @@
extern volatile unsigned char *chrp_int_ack_special;
void chrp_progress(char *, unsigned short);
-void chrp_request_regions(void);
extern void openpic_init_IRQ(void);
extern void init_ras_IRQ(void);
@@ -140,11 +139,12 @@
fwnmi_init();
+#ifndef CONFIG_PPC_ISERIES
/* Find and initialize PCI host bridges */
/* iSeries needs to be done much later. */
- #ifndef CONFIG_PPC_ISERIES
- find_and_init_phbs();
- #endif
+ eeh_init();
+ find_and_init_phbs();
+#endif
/* Find the Open PIC if present */
root = find_path_device("/");
@@ -164,11 +164,6 @@
void __init
chrp_init2(void)
{
- /*
- * It is sensitive, when this is called (not too earlu)
- * -- tibit
- */
- chrp_request_regions();
/* Manually leave the kernel version on the panel. */
ppc_md.progress("Linux ppc64\n", 0);
ppc_md.progress(UTS_RELEASE, 0);
Index: ioctl32.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ppc64/kernel/ioctl32.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- ioctl32.c 23 Nov 2002 00:55:49 -0000 1.7
+++ ioctl32.c 10 Dec 2002 21:06:04 -0000 1.8
@@ -22,6 +22,7 @@
#include <linux/config.h>
#include <linux/types.h>
+#include <linux/compat.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
@@ -397,14 +398,9 @@
return err;
}
-struct timeval32 {
- int tv_sec;
- int tv_usec;
-};
-
static int do_siocgstamp(unsigned int fd, unsigned int cmd, unsigned long arg)
{
- struct timeval32 *up = (struct timeval32 *)arg;
+ struct compat_timeval *up = (struct compat_timeval *)arg;
struct timeval ktv;
mm_segment_t old_fs = get_fs();
int err;
@@ -1424,8 +1420,8 @@
#define PPPIOCSCOMPRESS32 _IOW('t', 77, struct ppp_option_data32)
struct ppp_idle32 {
- __kernel_time_t32 xmit_idle;
- __kernel_time_t32 recv_idle;
+ compat_time_t xmit_idle;
+ compat_time_t recv_idle;
};
#define PPPIOCGIDLE32 _IOR('t', 63, struct ppp_idle32)
|
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:37
|
Update of /cvsroot/linuxconsole/ruby/linux In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux Modified Files: Makefile Log Message: Synced to 2.5.51 Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Makefile,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- Makefile 23 Nov 2002 00:55:43 -0000 1.71 +++ Makefile 10 Dec 2002 21:06:00 -0000 1.72 @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 5 -SUBLEVEL = 49 +SUBLEVEL = 51 EXTRAVERSION = -ruby # *DOCUMENTATION* @@ -162,19 +162,21 @@ MODFLAGS = -DMODULE CFLAGS_MODULE = $(MODFLAGS) AFLAGS_MODULE = $(MODFLAGS) +LDFLAGS_MODULE = -r CFLAGS_KERNEL = AFLAGS_KERNEL = + NOSTDINC_FLAGS = -nostdinc -iwithprefix include CPPFLAGS := -D__KERNEL__ -Iinclude CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \ - -fomit-frame-pointer -fno-strict-aliasing -fno-common + -fno-strict-aliasing -fno-common AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \ CONFIG_SHELL TOPDIR HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ - HOSTCXX HOSTCXXFLAGS LDFLAGS_BLOB + HOSTCXX HOSTCXXFLAGS LDFLAGS_BLOB LDFLAGS_MODULE export CPPFLAGS NOSTDINC_FLAGS OBJCOPYFLAGS LDFLAGS export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE @@ -200,7 +202,7 @@ .PHONY: scripts scripts: - +@$(Q)$(MAKE) -f scripts/Makefile.build obj=scripts + $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts # Objects we will link into vmlinux / subdirs we need to visit # --------------------------------------------------------------------------- @@ -257,6 +259,10 @@ export EXPORT_FLAGS := -DEXPORT_SYMTAB endif +ifndef CONFIG_FRAME_POINTER +CFLAGS += -fomit-frame-pointer +endif + # # INSTALL_PATH specifies where to place the updated kernel and system map # images. Uncomment if you want to place them anywhere other than root. @@ -348,12 +354,12 @@ kallsyms.o := .tmp_kallsyms2.o quiet_cmd_kallsyms = KSYM $@ -cmd_kallsyms = sh $(KALLSYMS) $< $@ +cmd_kallsyms = $(NM) -n $< | scripts/kallsyms > $@ -.tmp_kallsyms1.o: .tmp_vmlinux1 - $(call cmd,kallsyms) +.tmp_kallsyms1.o .tmp_kallsyms2.o: %.o: %.S scripts FORCE + $(call if_changed_dep,as_o_S) -.tmp_kallsyms2.o: .tmp_vmlinux2 +.tmp_kallsyms%.S: .tmp_vmlinux% $(call cmd,kallsyms) .tmp_vmlinux1: $(vmlinux-objs) arch/$(ARCH)/vmlinux.lds.s FORCE @@ -432,7 +438,7 @@ # with it and forgot to run make oldconfig include/linux/autoconf.h: .config - +@$(call descend,scripts/kconfig,scripts/kconfig/conf) + $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig scripts/kconfig/conf ./scripts/kconfig/conf -s arch/$(ARCH)/Kconfig # Generate some files @@ -539,7 +545,7 @@ .PHONY: $(patsubst %, _modinst_%, $(SUBDIRS)) $(patsubst %, _modinst_%, $(SUBDIRS)) : - $(Q)$(MAKE) -f scripts/Makefile.modinst obj=$(patsubst _modinst_%,%,$@) + $(Q)$(MAKE) -rR -f scripts/Makefile.modinst obj=$(patsubst _modinst_%,%,$@) else # CONFIG_MODULES # Modules not configured @@ -636,13 +642,13 @@ make_with_config scripts/kconfig/conf scripts/kconfig/mconf scripts/kconfig/qconf: scripts/fixdep FORCE - +@$(call descend,scripts/kconfig,$@) + $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/kconfig $@ xconfig: scripts/kconfig/qconf ./scripts/kconfig/qconf arch/$(ARCH)/Kconfig menuconfig: scripts/kconfig/mconf - $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts lxdialog + $(Q)$(MAKE) -f scripts/Makefile.build obj=scripts/lxdialog ./scripts/kconfig/mconf arch/$(ARCH)/Kconfig config: scripts/kconfig/conf @@ -705,8 +711,9 @@ clean: archclean $(addprefix _clean_,$(clean-dirs)) $(call cmd,rmclean) @find . $(RCS_FIND_IGNORE) \ - \( -name '*.[oas]' -o -name '.*.cmd' -o -name '.*.d' \ - -o -name '.*.tmp' \) -type f -print | xargs rm -f + \( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd' \ + -o -name '.*.d' -o -name '.*.tmp' \) -type f \ + -print | xargs rm -f # mrproper - delete configuration + modules + core files # @@ -792,7 +799,7 @@ @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info browse Documentation/kbuild/*' - + # Documentation targets # --------------------------------------------------------------------------- @@ -824,7 +831,7 @@ # =========================================================================== %:: FORCE - $(MAKE) $@ + $(Q)$(MAKE) $@ endif # ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) endif # ifdef include_config @@ -838,6 +845,9 @@ quiet_cmd_as_s_S = CPP $@ cmd_as_s_S = $(CPP) $(a_flags) -o $@ $< +quiet_cmd_as_o_S = AS $@ +cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $< + # read all saved command lines targets := $(wildcard $(sort $(targets))) @@ -885,6 +895,6 @@ # $(call descend,<dir>,<target>) # Recursively call a sub-make in <dir> with target <target> -descend = $(Q)$(MAKE) -f scripts/Makefile.build obj=$(1) $(2) +descend =$(Q)$(MAKE) -f scripts/Makefile.build obj=$(1) $(2) FORCE: |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:32
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/console In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/drivers/video/console Removed Files: Kconfig Makefile Log Message: Synced to 2.5.51 --- Kconfig DELETED --- --- Makefile DELETED --- |
|
From: James S. <jsi...@us...> - 2002-12-10 21:06:30
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory sc8-pr-cvs1:/tmp/cvs-serv10917/linux/drivers/video Removed Files: Kconfig Makefile vga.c Log Message: Synced to 2.5.51 --- Kconfig DELETED --- --- Makefile DELETED --- --- vga.c DELETED --- |