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 --- |