Stéphane Eranian [Thu, 23 Oct 2003 10:51:51 +0000 (03:51 -0700)]
[PATCH] ia64: fix critical perfmon2 bugs
This patch fixes the following issues:
- fix a nasty corner case by which a task could inherit psr.pp/psr.up
that could be stale by the time it runs. psr.pp/psr.up bits must be
cleared on fork and inherited on execve(). Test case provided by
John Levon.
- mask interrupts when locking the pfm stat structure. We don't want
to take PMU interrupts in the middle of this kind of critical
section.
- fix a bug in pfm_close() for context which use asynchronous
notifications. You cannot call fasync_helper() with interrupts
disabled because it reenables them. There was no real danger of
moving the call outside our critical section.
- fix a bug in in pfm_flush_pmds() where you can leave the freeze bit
set in the pmc saved state.
Arun Sharma [Thu, 23 Oct 2003 10:41:14 +0000 (03:41 -0700)]
[PATCH] ia64: fix broken __emul_prefix
his seems to be broken for ia32 on ia64 and possibly other emulation
architectures as well. The problem comes from
fs/namei.c:set_fs_altroot() using path_lookup() instead of a
path_walk() relative to "/" (which is the case for 2.4).
Ian Wienand [Wed, 22 Oct 2003 14:54:44 +0000 (07:54 -0700)]
[PATCH] ia64: fix gate-data.S build for binutils 2.14
gas will match anything with a prefix
'.data.' as a data special section. Thus to stop unnecessary warning
about changing attributes, we use the .data section standard
attributes aw when creating gate-data.o.
Alex Williamson [Wed, 22 Oct 2003 09:52:04 +0000 (02:52 -0700)]
[PATCH] ia64: trivial ia64 numa/discontig fixes
I stumbled on a couple trivial bugs in ia64 numa/discontig support.
The first just sets the default number of nodes to something reasonable
for a generic kernel, otherwise it's really easy to start walking over
your initdata (more error checking should probably be added). The
second fixes a memcpy to a physical address.
David Mosberger [Tue, 21 Oct 2003 12:32:29 +0000 (05:32 -0700)]
ia64: Patch by Arun Sharma: fix allocation/handling of GDT shared page (the old code
was inconsistent and in places still assumed there is both a GDT and a TSS
shared page, but the latter was removed a long time ago).
David Mosberger [Tue, 21 Oct 2003 10:52:58 +0000 (03:52 -0700)]
ia64: Fix efi_mem_type() and efi_mem_attributes() to avoid potential
underflows. In my case, the underflows occurred with the
first memory descriptor which got trimmed down to a size of 0.
Due to the underflow, this descriptor ended up covering the entire
address-range which in turn caused Bad Things to happen with the
X server.
Arun Sharma [Mon, 20 Oct 2003 09:20:38 +0000 (02:20 -0700)]
[PATCH] ia64: make strace of ia32 processes work again
Newer versions of strace manipulate the syscall arguments and to make this
work for ia32 processes, we need to reload the syscall args after
doing the syscall-trace callback.
Jesse Barnes [Mon, 20 Oct 2003 09:05:49 +0000 (02:05 -0700)]
[PATCH] ia64: zero out topology related sysfs nodes
Tony pointed out (thanks Tony) that in -test8 kobject_set_name() will
try to free a kobject's k_name field if it's non-NULL, so we need to
zero it out in case kmalloc() gave us recycled memory or we'll try to
kfree a bogus area.
There's a hole at 0xa0000-0xc0000, so we should ignore all the WB memory
in that granule. With 16MB granules, the existing code trims like this
(note the 4K page at 0x0 should have been ignored, but wasn't).
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).