2002-12-18 18:08:14

by Bjorn Helgaas

[permalink] [raw]
Subject: [PATCH] arch/ia64 update

Hi Marcelo,

Please do a

bk pull http://lia64.bkbits.net/to-marcelo-2.4

This will update the following files:

arch/ia64/hp/sim/simeth.c | 533 ---------------
arch/ia64/hp/sim/simscsi.c | 384 -----------
arch/ia64/hp/sim/simscsi.h | 39 -
arch/ia64/hp/sim/simserial.c | 1095 --------------------------------
include/asm-ia64/offsets.h | 142 ----
arch/ia64/boot/bootloader.c | 10
arch/ia64/config.in | 12
arch/ia64/defconfig | 76 --
arch/ia64/hp/common/sba_iommu.c | 229 ++++--
arch/ia64/hp/sim/Makefile | 10
arch/ia64/hp/sim/simeth.c | 535 +++++++++++++++
arch/ia64/hp/sim/simscsi.c | 384 +++++++++++
arch/ia64/hp/sim/simscsi.h | 39 +
arch/ia64/hp/sim/simserial.c | 1097 ++++++++++++++++++++++++++++++++
arch/ia64/hp/zx1/hpzx1_misc.c | 514 +++++++--------
arch/ia64/ia32/ia32_signal.c | 415 +++++++++++-
arch/ia64/ia32/sys_ia32.c | 173 +++--
arch/ia64/kernel/acpi.c | 99 +-
arch/ia64/kernel/efi.c | 240 ++++---
arch/ia64/kernel/entry.S | 26
arch/ia64/kernel/fw-emu.c | 80 +-
arch/ia64/kernel/gate.S | 65 +
arch/ia64/kernel/head.S | 485 +++++++-------
arch/ia64/kernel/ia64_ksyms.c | 14
arch/ia64/kernel/iosapic.c | 4
arch/ia64/kernel/irq.c | 2
arch/ia64/kernel/irq_ia64.c | 2
arch/ia64/kernel/machvec.c | 2
arch/ia64/kernel/mca.c | 149 +++-
arch/ia64/kernel/pal.S | 46 +
arch/ia64/kernel/pci.c | 53 +
arch/ia64/kernel/perfmon.c | 1213 +++++++++++++++++++-----------------
arch/ia64/kernel/perfmon_generic.h | 71 +-
arch/ia64/kernel/perfmon_itanium.h | 89 +-
arch/ia64/kernel/perfmon_mckinley.h | 121 ++-
arch/ia64/kernel/process.c | 4
arch/ia64/kernel/ptrace.c | 83 ++
arch/ia64/kernel/signal.c | 47 +
arch/ia64/kernel/smp.c | 16
arch/ia64/kernel/smpboot.c | 4
arch/ia64/kernel/sys_ia64.c | 23
arch/ia64/kernel/traps.c | 3
arch/ia64/kernel/unaligned.c | 95 +-
arch/ia64/lib/Makefile | 2
arch/ia64/lib/carta_random.S | 54 +
arch/ia64/lib/memcpy_mck.S | 27
arch/ia64/lib/swiotlb.c | 47 -
arch/ia64/mm/Makefile | 2
arch/ia64/mm/fault.c | 4
arch/ia64/mm/init.c | 132 ++-
arch/ia64/mm/tlb.c | 4
arch/ia64/sn/io/pci_dma.c | 64 -
arch/ia64/sn/kernel/setup.c | 2
arch/ia64/vmlinux.lds.S | 2
include/asm-ia64/acpi.h | 12
include/asm-ia64/ia32.h | 74 ++
include/asm-ia64/io.h | 32
include/asm-ia64/machvec.h | 10
include/asm-ia64/machvec_hpzx1.h | 2
include/asm-ia64/machvec_sn1.h | 2
include/asm-ia64/machvec_sn2.h | 2
include/asm-ia64/mc146818rtc.h | 10
include/asm-ia64/mca.h | 2
include/asm-ia64/mca_asm.h | 3
include/asm-ia64/mmu.h | 8
include/asm-ia64/mmu_context.h | 55 +
include/asm-ia64/page.h | 11
include/asm-ia64/pal.h | 43 +
include/asm-ia64/pci.h | 11
include/asm-ia64/perfmon.h | 53 +
include/asm-ia64/pgalloc.h | 45 -
include/asm-ia64/pgtable.h | 20
include/asm-ia64/processor.h | 8
include/asm-ia64/sal.h | 3
include/asm-ia64/scatterlist.h | 3
include/asm-ia64/siginfo.h | 4
include/asm-ia64/system.h | 2
include/asm-ia64/unistd.h | 21
78 files changed, 5271 insertions(+), 4228 deletions(-)

through these ChangeSets:

<[email protected]> (02/12/13 1.757.10.38)
ia64: Alternate signal stack fix. Patch from David Mosberger.

<[email protected]> (02/12/13 1.757.10.37)
ia64: break trap: die_if_kernel only if break value is 0.
(Backport from 2.5 changeset of 02/08/29).

<[email protected]> (02/12/12 1.757.10.36)
ia64: Move simeth, simserial, simscsi back to drivers/ for init ordering.

<[email protected]> (02/12/12 1.757.10.35)
ia64: Update defconfig with 2.4.20 defaults, build in ext3.

<[email protected]> (02/12/10 1.757.10.34)
ia64: Avoid holding task lock while calling access_process_vm().

<[email protected]> (02/12/10 1.757.10.33)
ia64: Avoid holding tasklist_lock across routines that do IPIs (such as flush_tlb_all()).
(From 2.5 patch by David Mosberger).

<[email protected]> (02/12/10 1.757.10.32)
ia64: Fix typo in unaligned memory access handler (no functional change).

<[email protected]> (02/12/10 1.757.10.31)
ia64: Fix unaligned memory access handler.

<[email protected]> (02/12/03 1.757.10.30)
ia64: IA-32 ptrace: xmm reg support, fpstate 'tag' fix, fp TOS fix

Attached is the patch to IA32 ptrace code in IA64 kernel. This
patch basically helps gdb'ing of an ia32 app (with ia32
gdb binary). The patch can easily be verified by running gdb and
looking at all-registers.

The changes done in the patch include:
1) Support for xmm registers.
At present xmm registers are not saved/restored during
ptrace and gdb wont show them. Patch adds new ptrace
options (IA32_PTRACE_GETFPXREGS and IA32_PTRACE_SETFPXREGS,
used by gdb to get/set fp+xmm state).
2) Bug fix in getting 'tag' field of fpstate
(fsr>>16 in place of fsr>>32)
3) Bug fix in calculating fp TOS
(it is a 3 bit field in fsr. Using (fsr>>11) & 7 in place
of (fsr>>11) & 3)
Also, I had to add new structures in ia32.h, corresponding to
the way gdb is expecting the data. Gdb uses structures
defined in sys/user.h

<[email protected]> (02/12/03 1.757.10.29)
ia64: Patch by Venkatesh Pallipadi to fix IA-32 signal handling to restore
instruction and data pointers.

<[email protected]> (02/12/03 1.757.10.28)
ia64: Some formatting cleanups.

<[email protected]> (02/12/03 1.757.10.27)
[PATCH] ia64: Clearing of exception status before calling IA32 user signal handler

One more bug fix for IA32 exception handler. IA32 exception handler is
not clearing the exception status, before calling the user signal handler
routine.

<[email protected]> (02/12/03 1.757.10.26)
[PATCH] ia64: Save/Restore of IA32 fpstate in sigcontext

The IA32 fpstate information is not getting saved/restored during IA32
exception handling. The issue was first observed due to an IA32 binary
(which runs fine on IA32 system), failing on Itanium based system. The
binary was trying to access the fpstate information during an FPE and got a
SEGV, as the fpstate was not getting saved and the sigcontext->fpstate
pointer was NULL.

<[email protected]> (02/12/03 1.757.10.25)
ia64: perfmon: This patch adds:
- full support for randomization of sampling periods
- a hook for VTune and possibly Prospect so that they can
synchronize access to the PMU with perfmon
- updates the initialization to reflect what I have in my development
kernel (we do not use PAL anymore).
- update perfmon version to 1.2

This patch fixes:
- the bug your reported about perfmon_init_percpu()

<[email protected]> (02/12/03 1.757.10.24)
ia64: Include vendor/function ID for "Unknown" IOCs.

<[email protected]> (02/12/03 1.757.10.23)
ia64: Fix race between TLB purges and reload_context.
(From David Mosberger)

<[email protected]> (02/12/02 1.757.10.22)
ia64: If no CPE interrupt, poll periodically for CPEs.

<[email protected]> (02/11/19 1.757.10.19)
ia64: Workaround for old toolchain (__get_user() in perfmon).

<[email protected]> (02/11/19 1.757.10.18)
ia64: perfmon update.

<[email protected]> (02/11/15 1.757.10.16)
ia64: Use virtual mem map automatically if >1GB gap found

Enclosed is a patch for 2.4 that is similar to what is going out with Red
Hat AS for ia64. This makes the virtual mem map support "automatic", i.e.
it will use a virtual mem map if CONFIG_DISCONTIGMEM is not defined and a
gap of greater than 1 GB is found in the physical memory layout.

<[email protected]> (02/11/14 1.757.10.15)
ia64: Make mremap() work properly when returning "negative" addresses.
Based on patch by Matt Chapman, 2.5 fix by David Mosberger.

<[email protected]> (02/11/14 1.757.10.14)
ia64: Make it easier to set a breakpoint in the Ski simulator right before
starting the kernel (based on patch by Peter Chubb).

<[email protected]> (02/11/14 1.757.10.13)
ia64: Change memcpy to return dest address.

<[email protected]> (02/11/14 1.757.10.12)
ia64: Fix efi_memmap_walk() to work with more complicated memory maps.
Bug reported by Charles Sluder, 2.5 fix by David Mosberger.

<[email protected]> (02/11/14 1.757.10.11)
ia64: Fix ACPI_ACQUIRE_GLOBAL_LOCK and ACPI_RELEASE_GLOBAL_LOCK.
Bug reported by Charles Sluder, 2.5 fix by David Mosberger.

<[email protected]> (02/11/14 1.757.10.10)
[PATCH] ia64: PCI hotplug changes for 2.5.39 or later

The following patch fixes ia64 kernel dump on Hot-Add of PCI bridge cards.

pcibios_fixup_bus();
pci_do_scan_bus();
on Hot-Add of bridge adapter;
(pulled from 2.5 ia64 tree)

<[email protected]> (02/11/14 1.757.10.9)
ia64: Make flush_tlb_mm() work for multi-threaded address-spaces on SMP machines.
(From David Mosberger's 2.5 patch).

<[email protected]> (02/11/14 1.757.10.8)
ia64: Rename __flush_tlb_all() to local_flush_tlb_all().

<[email protected]> (02/11/13 1.757.10.7)
ia64: Minor MCA bugfixes.

<[email protected]> (02/11/13 1.757.10.6)
ia64: Restore "fake PCI device" support, for XFree86. This is intended
to go away in 2.5.x.

<[email protected]> (02/10/31 1.757.10.4)
ia64: Fix potential MCA and silent data corruption in HP zx1
IOMMU driver.

- Fixes a potential silent data corruption because the pdir
cache on the chipset set was getting improperly flushed.
It's very hard to hit given the allocation mechanism for the
pdir, but it is possible.

- Demangles scatter-gather pointers. The driver was taking far
too much liberty in changing these. A known MCA path caused
by this is SCSI retries, which passed back in a pre-mangled
scatter-gather array.

- Adds an option for keeping the entire iommu pdir valid. This
is really just some debugging code that I added along the way.
In the event that you've installed a device that aggressively
tries to prefetch, you may get an MCA if it prefetches beyond
it's pdir entry. New boxes shouldn't see much of this because
PCI will disconnect. Older systems w/ < rev 3.0 LBAs might
see issues. Turning this on, makes all unused pdir entries
point to a spill page that contains poisoned data. (off by
default)

- Removes platform_pci_dma_address(). With the extra scatterlist
entries, it seems reasonable for DMA engines to store the
address in dma_address. pci_dma_length is now just a macro for
sg->dma_length, this feels cleaner and reduces complexity for
DMA engines that try to coalesce. I believe it's even a
benefit for swiotlb. The sn pci_dma interface likely needs
some touchups by those that know the interface in this area.
(thanks to Grant Grundler for helping out here)

One issue I've seen, that's simply because the scatterlist is
bigger now, 64k pages and IDE don't get along. ide-dma tries
to kmalloc a _very_ large scatterlist. The algorithm factors in
PAGE_SIZE, but it only seems to produce a reasonable value if you
have 4k pages. It goes ballistic at 64k. Replacing the kmalloc/
kfree w/ a vmalloc/vfree solves the problem, but seems like it's
only a bandaid.

<[email protected]> (02/10/31 1.757.10.3)
ia64: ACPI tidy-up.

<[email protected]> (02/10/29 1.757.10.2)
ia64: Detect HP ZX1 AGP bridge via ACPI instead of the old, unmaintainable
"fake PCI device" scheme.

<[email protected]> (02/10/18 1.742.2.3)
ia64: Skip blind PCI probe when root bridges are reported by ACPI.

<[email protected]> (02/10/18 1.742.2.2)
ia64: Scan PCI buses 0-255 (not 0-254).

<[email protected]> (02/10/09 1.717.10.2)
ia64: more scatterlist page/offset cleanup.

<[email protected]> (02/10/04 1.706.1.6)
ia64: Optimize load/save FPU (Fenghua Yu, Intel).

<[email protected]> (02/10/04 1.706.1.5)
ia64: Extended Attribute VFS syscalls.

<[email protected]> (02/10/04 1.706.1.4)
ia64: Reserve hugetlb syscall numbers.

<[email protected]> (02/10/03 1.706.1.3)
ia64: Remove obsolete McKinley A0 workaround.

<[email protected]> (02/10/01 1.706.1.2)
ia64: Fix EFI runtime callbacks so they cannot corrupt fp regs.

<[email protected]> (02/10/01 1.676.7.27)
ia64: support scatterlist page/offset in sba_iommu.c.

<[email protected]> (02/09/27 1.676.7.25)
ia64: Add PCI_DMA_BUS_IS_PHYS definition.

<[email protected]> (02/09/27 1.676.7.24)
Remove include/asm-ia64/offsets.h.

<[email protected]> (02/09/27 1.676.7.23)
ia64: Create dummy file include/asm-ia64/mc146818rtc.h since ide-geometry.c continues to
insist on it.

<[email protected]> (02/09/27 1.676.7.22)
ia64: Sync with pcibios_enable_device interface change

<[email protected]> (02/09/27 1.676.7.21)
ia64: Fix edge-triggered IRQ handling. See Linus's 2.5 cset 1.611 for details.

<[email protected]> (02/09/27 1.676.7.20)
ia64: Remove McKinley A-step config stuff.

<[email protected]> (02/09/27 1.676.7.19)
ia64: Discard *.text.exit and *.data.exit sections.

<[email protected]> (02/09/27 1.676.7.18)
ia64: Remove support for HP prototypes.

<[email protected]> (02/09/27 1.676.7.17)
ia64: Fix narrow window during which signal could be delivered with only the memory
stack switched over to the alternate signal stack.

<[email protected]> (02/09/27 1.676.7.16)
ia64: Fix return path of signal delivery for sigaltstack() case.

<[email protected]> (02/09/27 1.676.7.15)
ia64: Fix perfmon error path leaks.

<[email protected]> (02/09/27 1.676.7.14)
ia64: Fix perfmon error path missing unlock.

<[email protected]> (02/09/27 1.676.7.13)
ia64: Fix x86 struct ipc_kludge (reported by R Sreelatha, fix proposed by
Dave Miller).

<[email protected]> (02/09/27 1.676.7.12)
ia64: Preserve f11-f15 around calls into firmware.

<[email protected]> (02/09/27 1.676.7.11)
ia64: Print EFI call status in hex, not decimal.

<[email protected]> (02/09/27 1.676.7.10)
ia64: Rename ia64_alloc_irq to ia64_alloc_vector.

<[email protected]> (02/09/27 1.676.7.9)
ia64: Move simeth, simserial, simscsi to arch/ia64/hp/sim.

<[email protected]> (02/09/27 1.676.7.8)
ia64: If more than NR_CPUS found, ignore the extras.

<[email protected]> (02/09/27 1.676.7.7)
ia64: Reserve syscall numbers 1238-1242 for AIO.

<[email protected]> (02/09/27 1.676.7.6)
ia64: Fix I/O macros in asm-ia64/io.h. Based on patch by Andreas Schwab.

<[email protected]> (02/09/27 1.676.7.5)
ia64: ACPI CRS cleanup.

<[email protected]> (02/09/27 1.676.7.4)
ia64: Remove many warnings.

<[email protected]> (02/09/27 1.676.7.3)
ia64: Fix iosapic debug code.

<[email protected]> (02/09/27 1.676.7.2)
ia64: Add missing symbol exports for modules.


Thanks!

Bjorn