They were added by Torben to workaround ServerWorks driver problems
(fixed by previous patch), but depending on BIOS can be dangerous on
other chipsets and it is always better to fix specific driver.
If PIO mode should be auto-tuned xferspeed argument for svwks_tune_chipset()
is equal to 255 (0xFF). It is then passed to ide_rate_filter() which matches
desired mode with chipset capabilities. Since 255 is greater than any of the
values used for transfer modes, ide_rate_filter() will always return the
highest mode supported by both device/chipset (which sometimes should not be
used ie. when host is a simplex one) and the wrong mode will be set.
Thanks to Torben Mathiasen and Tomas Szepe for testing it.
George G. Davis [Thu, 16 Oct 2003 21:32:23 +0000 (22:32 +0100)]
[ARM PATCH] 1684/1: Add uImage build target rule
Patch from George G. Davis
This adds an `make uImage` build target rule to create boot images for targets which use u-Boot firmware. This build target already exists for the PPC architecture.
Stéphane Eranian [Thu, 16 Oct 2003 08:13:18 +0000 (01:13 -0700)]
[PATCH] ia64: perfmon-2 fixes
- remove PFM_FL_UNSECURE support because broken
- remove instrumentation code for syswide ctx update (5% speedup)
- integrated cleanups from John Levon
- remove references to pmu_conf.ovfl_val from loops, use local variable
- updated pfm_bad_permissions()
- support reset values for non-counting pmds
- serialization of PFM_RESTART
- added support for restart_active in per-task mode
- remove potential deadlock caused by calling pfm_overflow_handler() from pfm_load_regs()
- fix invalid check in perfmon_mckinley() for PMC13
Tony Luck [Thu, 16 Oct 2003 08:11:43 +0000 (01:11 -0700)]
[PATCH] ia64: MCA min_state area must be uncacheable
Software Developer's Manual page 2:270, section 11.3.2.3
says that the processor min-state save area must be in an
uncacheable region ... but current MCA recovery code
allocates the min-state area "ia64_mca_min_state_save_info"
in regular kernel data/bss.
This patch re-uses the same min-state area that the PAL/SAL
used to report the error to Linux ... which mostly requires
deleting code and declarations (some of which were wrong,
MIN_STATE_AREA_SIZE ought to have been 58). The real "work"
is copying the pointer to the min-state area from the
sal_to_os handoff structure into the os_to_sal structure.
Jens Axboe [Thu, 16 Oct 2003 00:51:41 +0000 (17:51 -0700)]
[PATCH] ide-floppy IOMEGA ZIP fix
From ramon_garcia_f@yahoo.com:
"I am experiencing lost interrupts when writting (but not when reading)
to an IOMEGA Zip drive with the ATAPI floppy driver.
The driver seems to be aware of the problem and has a workaround for
it. Unfortunately my drive is not detected as an IOMEGA drive. The
reason is that the model of my drive is "IOMEGA ZIP 100 ATAPI Floppy"
instead of "IOMEGA ZIP 100 ATAPI", that is what the driver expects. "
Andrew Morton [Thu, 16 Oct 2003 00:30:48 +0000 (17:30 -0700)]
[PATCH] Correct case sensitivity in make mandocs
From: Michael Still <mikal@stillhq.com>
The attached patch corrects case sensitivity in the mandocs make target.
XML is case insensitive, and a bunch of the kernel-doc assumes this. The
makeman and splitman scripts incorrectly cared about case. This patch also
updates the Docbook DTD version which the script generates.
Andrew Morton [Thu, 16 Oct 2003 00:30:28 +0000 (17:30 -0700)]
[PATCH] SELINUX: add policyvers to selinuxfs
From: James Morris <jmorris@redhat.com>
This patch adds a file to the root selinuxfs directory which returns the
security policy version associated with the currently running kernel. Its
purpose is to allow scripts to determine which version of policy to load.
Andrew Morton [Thu, 16 Oct 2003 00:29:46 +0000 (17:29 -0700)]
[PATCH] drivers/block/initrd.c removal
From: viro@parcelfarce.linux.theplanet.co.uk
* drivers/block/initrd.c gone
* chunk of memory where the current tree would look for intird image is
checked for being a valid initramfs image first; then, it is either
unpacked (in addition to normal built-in image) or, if it wasn't a valid
image, copied into a regular file on rootfs called /dev/initrd. Then
memory is freed.
Result:
a) we can put initramfs image in place of initrd one and kernel will DTRT.
b) initrd images still work as usual; code that shoves the thing to
ramdisk, etc. doesn't care whether it reads from a block device or
regular file.
c) initrd.c is gone, so is fake block device and a lot of irregularities
with it.
It has been in -mm for almost two weeks with no reported problems.
Linus Torvalds [Wed, 15 Oct 2003 10:51:43 +0000 (03:51 -0700)]
Fix APIC address handling at bootup and restore.
Don't assume the APIC is at the power-on default address,
since the BIOS can have moved it somewhere else without
really ever telling us (ie we have an MP table or ACPI
that fixes it for us, but those are not always available)
David Mosberger [Wed, 15 Oct 2003 09:45:58 +0000 (02:45 -0700)]
ia64: Important security fix for fsyscalls. Without this patch, the McKinley E9
workaround caused fsyscalls to return with the wrong privilege level.
This patch also adds fsys_rt_sigprocmask(), which happens to be a good
test-case for this bug. Only McKinley systems using fsyscalls are affected.
Merced and Madison are OK.
[PATCH] fix support for PIO modes w/o IORDY flow control
hwif->ide_dma_on() was is in the wrong place in the mode tuning helper
and was also called for devices which do not support IORDY flow control
(such as CompactFlash cards).
David Mosberger [Wed, 15 Oct 2003 07:07:23 +0000 (00:07 -0700)]
ia64: Fix __delay() even more: it's just not safe to inline the delay-
loop because, e.g., the compiler might decide to unroll the
loop when passed a constant, etc.
Tigran Aivazian [Wed, 15 Oct 2003 04:24:38 +0000 (21:24 -0700)]
[PATCH] update to microcode update driver
This contains the following changes:
a) changes from Intel to support the new microcode data format
(backward compatible of course)
b) changes from me to remove the no longer needed features of the driver,
namely we don't need to keep a copy of applied microcode in kernel
memory.
This feature was hardly useful in the days of regular devfs
/dev/cpu/microcode file and now it is completely useless so I removed
it (after taking into account all the feedback on linux-kernel I
received since the announcement of the intention to do this)
These are rather critical because otherwise we can't really say Linux
fully supports the very latest Intel cpus (which require microcode in
the new format).
Bjorn Helgaas [Wed, 15 Oct 2003 03:37:34 +0000 (20:37 -0700)]
[PATCH] ia64: fix serial port naming
Now that the serial driver fully supports discovery via ACPI,
we can get rid of all the legacy junk in asm-ia64/serial.h.
This keeps the serial driver from blindly probing I/O port
space.
This also fixes a long-standing serial device naming issue:
ttyS0-ttyS3 were always reserved for the compiled-in
COM ports, even if they weren't present in the box.
Any additional PCI or ACPI ports appeared starting at
ttyS4 (except for the special case of things described
in the HCDP). Now we'll just name ttyS devices in the
order they're discovered, without any holes for non-existent
devices.
This is a little bit ugly for serial console because the HCDP
is currently the only way we learn about serial ports before
the actual ACPI discovery. All HP firmware implements HCDP,
but Intel firmware does not. So in the absence of an HCDP,
we have to probe for legacy COM ports. Otherwise, the serial
console wouldn't work until the serial driver discovers the
port via ACPI.
Nathan Scott [Wed, 15 Oct 2003 03:17:22 +0000 (20:17 -0700)]
[PATCH] ia64: correct ino_t to be 64 bits wide
This brings the kernel in sync with glibc (and all other 64-bit platforms
other than Alpha and S390x). This fixes ustat() and breaks nfsctl_export,
but the latter is a deprecated interface anyhow (newer versions of
nfsutils use "exportfs" instead).
David Mosberger [Wed, 15 Oct 2003 03:13:31 +0000 (20:13 -0700)]
ia64: Fix __delay() to do The Right Thing. In practice, this may
cause BogoMIPS to drop to half the clock-speed with current
versions of GCC, but this just shows that GCC doesn't generate
very good code for single-cycle loops. Perhaps it will motivate
someone to improve GCC in this area (though it's hardly of
practical value, other than for producing large BogoMIPS values).
Jesse Barnes [Wed, 15 Oct 2003 02:40:18 +0000 (19:40 -0700)]
[PATCH] ia64: force on appropriate generic options
Make sure that generic kernels actually build by forcing on the
necessary options. With this patch I was able to build a generic kernel
out of the to-linus-2.5 tree.
David S. Miller [Tue, 14 Oct 2003 11:10:14 +0000 (04:10 -0700)]
[SPARC]: Make io.h macros more resiliant.
Several drivers do things like undefine inb et al. in order
to switch between using I/O and MEM operations. The Sparc
io.h macros did not cope with this well, so fix that up.
David S. Miller [Tue, 14 Oct 2003 10:15:01 +0000 (03:15 -0700)]
[SPARC]: Fix IRQ op build problems.
Defining disable_irq et al. as macros is asking for trouble
especially since some parts of the kernel uses structures
with members having these same names. So use inline functions
instead.
Jesse Barnes [Tue, 14 Oct 2003 09:52:05 +0000 (02:52 -0700)]
[PATCH] ia64: SN2 module fix
Because we're the only platform with seperate in, out, and read
routines, we have to include the file that defines them in our machvec
header so that users of the functions will get the right defines and not
use the non-inline function variants (which are only necessary for
generic kernels).
Tony Luck [Tue, 14 Oct 2003 09:45:42 +0000 (02:45 -0700)]
[PATCH] ia64: Another MCA fix
The definition of the pal_process_state_info_s structure
misses out some useful pieces (e.g. the "mi" bit which indicates
whether we should call PAL_MC_ERROR_INFO to get more details).
Worse yet, some of the bits are in the wrong places (cc/tc/bc).
See Volume 2 of "Intel Itanium Architecture Software Developer's
Manual". (In the Rev 2.1 October 2002 edition, p. 2:268 and 2:276).
David S. Miller [Tue, 14 Oct 2003 08:56:19 +0000 (01:56 -0700)]
[SPARC]: Audit inline asm.
Check all inline asms for common bugs and things that prevent
gcc-3.3 builds from working, in particular:
1) Missing memory or cc clobbers.
2) Do not clobber registers explicitly assigned to input
variables.
3) extern __inline__ --> static inline.
Also try to make the formatting more consistent so that
future audits are a bit easier.