Andrew Morton [Mon, 30 Dec 2002 05:40:06 +0000 (21:40 -0800)]
[PATCH] Docs: fix explanation of file-nr
Patch from Paul Jakma <paulj@alphyra.ie>
Documentation/sysctl/fs.txt is incorrect wrt to the middle number of
/proc/sys/fs/file-nr. The current docs state it is the number of
in-use file-handles, from observation this number is actually the
number of /unused/ file-handles - we've observe that when it hits 0 we
get file handle problems (rather than when it hits == file-max as docs
imply).
Rusty Russell [Mon, 30 Dec 2002 05:04:02 +0000 (21:04 -0800)]
[PATCH] MODULE_PARM "c" support
Turns out there was an undocumented "c" flag for MODULE_PARM.
This implementation is a little ugly, but it works, and will do for
compatibility (I haven't implemented such a two-dimensional array
primitive, but the whole point of the module_parm et al is that they are
extensible).
[PATCH] rename CONFIG_VOYAGER to CONFIG_X86_VOYAGER
The name is just a bit too generic, and we already use the _X86 prefix
for lots of other stuff in that area. Dito for the never use CONFIG_PC
and CONFIG_VISWS.
Brian Murphy [Mon, 30 Dec 2002 04:33:32 +0000 (20:33 -0800)]
[PATCH] crc32 speedup/use anywhere
This patch combines my patch which statically initialises the crc32
tables so they can be used at any time (during initialisation) and
Joakim Tjernlund's patch to speed up the crc calculations by doing word
operations instead of exclusively byte.
The crc routines are used extensively in jffs2 where speed is very
important.
I need the crc32 routines to calculate a checksum on values read from an
eeprom which contain cpu speed and memory size information - so they are
needed very much earlier in the initialisation process than they are
currently available.
* i2c-elektor.h is empty except for comments
* sensors.h contains register offsets for tons of hw monitoring chips,
move the few we actually need into the two drivers that use it
(there is _no_ overlap)
Add a struct module *owner field to struct i2c_adapter and i2c_algorithm
and do refcouting on them before use instead of the inc_use and dec_use
callbacks. While at it convert those structures to named initializers.
Currently for block devices both the SCSI_IOCTL_GET_IDLUN and
SCSI_IOCTL_GET_BUS_NUMBER ioctls yield the value 0 (type: int).
Various applications that utilize the sg driver use these ioctls
to work out the relationship between sg devices and their higher
level counterparts in the sd, sr, st and osst drivers. Examples
that spring to mind are cdrecord, cdparanoia, SANE and sg_utils.
This has been discussed in an earlier threaded started by me:
http://marc.theaimsgroup.com/?l=linux-scsi&m=103967899608891&w=2
in which my patch removed the ioctls in question from the block
level. This broke non-scsi block devices that used applications
that thought they were talking to an sg device **.
The attachment fine tunes the original patch: for scsi block
devices (i.e. owned by the sd or sr drivers) these 2 ioctls
are redirected to the scsi mid level; for non-scsi block
devices they will yield the value as 0 as they do now in
lk 2.5.53 .
** This "yield 0" strategy will come unstuck when 2 or more
cd writers (for example) are connected to the same box.
Hence to be well formed, these ioctls (together) should
produce unique tuples for each device (be they ATA(PI) or
SCSI).
Rusty Russell [Sun, 29 Dec 2002 09:47:53 +0000 (01:47 -0800)]
[PATCH] Embed __this_module in module itself.
Rather than have the module loader the module structure and
resolve the symbols __this_module to it, make __this_module a real
structure inside the module, using the linkonce trick we used for
module names.
This saves us an allocation (saving a page per module on
archs which need the module structure close by), and means we don't
have to fill in a few module fields.
Only one of wakeup_secondary_via_NMI() and wakeup_secondary_via_INIT() is
needed. We're currently compiling both, which generates an unused function
warning.
Andrew Morton [Sun, 29 Dec 2002 09:14:02 +0000 (01:14 -0800)]
[PATCH] INIT_TASK/INIT_TSS cleanup
Ingo added saved_fs, saved_gs to thread_struct and didn't add
corresponding initializers to INIT_THREAD. We assign NULL to an
unsigned int and the compiler warns.
The patch converts it to use designated initialisers and fixes the
io_bitmap initializer in the process.
The use of explicit initializers all over the i2c core anoyed for
long, but the lm_sensors merge with two new files just for initializers
was too much. Conver all of i2c to sane initialization (mostly
initcall, but some driver also got other cleanups in that area)
[PATCH] rewrite i2c-amd756 to resemble a linux driver
This is a large rewrite of i2c-amd756 (added by Pavel post 2.5.53
although it's not his code) into a driver following linux driver
guide lines. As a side-effect it shrinks the driver by almost one
fifth. Tested with an early AMD756-based board.
- use proper PCI API
- use pr_debug instead of #ifdef DEBUG mess
- use named initializers
- completly restructure init/exit code
- mark everything static
Linus Torvalds [Sun, 29 Dec 2002 07:42:40 +0000 (23:42 -0800)]
Fix some special cases for "sysenter" - some system calls depend on
doing a full register restore on return to user space, and thus require
the long system call exit path (ie "iret" instead of "sysexit").
* execve() - we need to set edx/ecx correctly at process startup.
* iopl() - needs iret to restore eflags with new IOPL levels.
[PATCH] Atari Falcon IDE: clean up ide_intr_lock handling
Here's a fix on top of the patch you commited:
- Rename ide_intr_lock to falconide_intr_lock
- Add falconide_intr_lock to the Falcon IDE driver itself
- Test for CONFIG_BLK_DEV_FALCON_IDE instead of CONFIG_ATARI since
falconide_intr_lock is Falcon IDE-specific, not Atari-specific
Andi Kleen [Sat, 28 Dec 2002 03:54:15 +0000 (19:54 -0800)]
[PATCH] x86-64 update
- Optimize __copy*user a bit.
- Merge with 2.5.53/i386
- Fix broken 32bit signal handling.
- Implement AT_SYSINFO and a vsyscall page for 32bit programs.
- Fix 32bit SYSCALL entry point to handle 6 arguments and restart correctly.
- Add oprofile support (Vojtech Pavlik, with changes by me)
This is shared code with i386.
Andi Kleen [Sat, 28 Dec 2002 03:53:50 +0000 (19:53 -0800)]
[PATCH] share i386/x86-64 oprofile code
The x86-64 port shares the oprofile code with i386. This needs some
minor changes in the i386 oprofile, mostly to use
instruction_pointer(regs) to access the EIP instead of referencing it
directly. On i386 this is a nop.
Sun-3 SBUS updates (from Sam Creasey):
- Rename struct linux_sbus_device to struct sbus_dev for source code
compatibility with SPARC
- Make sbus_init() an initcall
Move more M68k SCSI host template definitions from the device-specific header
files to the source files:
- Amiga A3000, A2091/A590, A4000, A4091, GVP II, and WarpEngine SCSI
- Atari NCR5380 SCSI
- MVME147, MVME16x, and BVME6000 SCSI
- Mac NCR5380 SCSI
- Sun-3/3x OBIO and VME SCSI
Convert the WD33C93 SCSI driver core to the new irq framework (from Marc
Zyngier <mzyngier@freesurf.fr>)
This driver core is used by the following drivers:
- M68k/PPC Amiga A3000, A2091/A590, and GVP II SCSI
- M68k MVME147 SCSI
- MIPS SGI IP22 (Indy, Challenge S, and Indigo 2) SCSI
Mac/m68k fixes (from Ray Knight in 2.4.x)
- Correct model definitions.
- Add loglevel macros to printk messages.
- Correct missing and incorrect defines.