- 04 Mar, 2003 13 commits
-
-
Suresh B. Siddha authored
IA64 ABI specifies that globals > 8 bytes need to be aligned to 16 bytes. gcc doesn't follow this convention. Current kernel code will fail to work with a compiler which follows the ABI. size of structure ia64_machine_vector is > 8 bytes and not multiple of 16 bytes. When we have CONFIG_IA64_GENERIC, each machine specific vector from different object files gets linked into a user defined section(forming array of structures). Now with a compiler conforming to ABI, there will be holes in this array resulting in the code failure when it goes through this array of structures. Following patch will make the size of the structure to be multiple of 16 bytes making both ABI confirming/non-conforming compilers happy.
-
Suresh B. Siddha authored
Current 2.5 kernels are broken with CONFIG_IA64_GENERIC option. Two unused members are still remaining in the structure, resulting in corruption of structure elements during the MACHVEC_INIT initialization. Attached patch fixes this problem.
-
David Mosberger authored
-
Bjorn Helgaas authored
Rationalize __init/__devinit attributes. The noteworthy changes are that iosapic_system_init(), iosapic_init(), iosapic_register_platform_intr(), and iosapic_override_isa_irq() are __init (only called from ACPI __init functions), but iosapic_lists[], num_iosapic, find_iosapic(), register_intr(), iosapic_register_intr(), and acpi_register_irq() are not because they may be used after init-time by modules. More detailed analysis: iosapic_lists[], num_iosapic: normal, referenced by find_iosapic (normal) register_intr (normal) iosapic_init (__init) pcat_compat: __initdata, referenced by iosapic_system_init (__init) iosapic_init (__init) iosapic_parse_prt (__init) find_iosapic: normal, called by register_intr (normal) register_intr: normal, called by iosapic_register_intr (normal), called by acpi_register_irq (normal), called by modules (=> can't be __init or __devinit) iosapic_register_platform_intr (__init) iosapic_override_isa_irq (__init) iosapic_parse_prt (__init) iosapic_reassign_vector: __init, called by iosapic_register_platform_intr (__init), called by acpi_parse_plat_int_src (__init) iosapic_system_init: __init, called by acpi_parse_madt (__init) iosapic_init: __init, called by acpi_parse_iosapic (__init) iosapic_register_platform_intr: __init, called by acpi_parse_plat_int_src (__init) iosapic_override_isa_irq: __init, called by acpi_parse_int_src_ovr (__init) iosapic_init (__init) fixup_vector: __init, called by iosapic_parse_prt (__init), called by acpi_pci_irq_init (__init)
-
Bjorn Helgaas authored
Make interrupt registration functions take named constants for polarity and trigger mode. Old -> new magic decoder ring: polarity 0 -> IOSAPIC_POL_LOW(#defined to 1) polarity 1 -> IOSAPIC_POL_HIGH(#defined to 0) trigger 0 -> IOSAPIC_LEVEL(#defined to 1) trigger 1 -> IOSAPIC_EDGE(#defined to 0)
-
Bjorn Helgaas authored
Simplify ISA IRQ init by taking advantage of iosapic_override_isa_irq(), which already does what we need.
-
Bjorn Helgaas authored
emove IOSAPIC address and GSI base from external interrupt registration interfaces. This lets us remove acpi_find_iosapic(), which is functionally similar to find_iosapic().
-
Bjorn Helgaas authored
Make pcat_compat a system property, not a per-IOSAPIC property.
-
David Mosberger authored
and reformat to make it fit in 100 columns.
-
David Mosberger authored
Keith Owens.
-
Keith Owens authored
This patch has been running inside SGI for 2 months. It handles kernel stacks with multiple struct pt_regs, as found while debugging the kernel.
-
Kenneth W. Chen authored
-
Junichi Nomura authored
I had to apply the patch below to build with CONFIG_NUMA.
-
- 28 Feb, 2003 3 commits
-
-
David Mosberger authored
fsys_gettimeofday() patch.
-
David Mosberger authored
-
David Mosberger authored
-
- 27 Feb, 2003 1 commit
-
-
Louis Yu-Kiu Kwan authored
This version executes in around 300 cycles on Itanium I (down from 900 or so for the original version), and so can be said to have microsecond precision.
-
- 24 Feb, 2003 1 commit
-
-
David Mosberger authored
-
- 12 Feb, 2003 1 commit
-
-
David Mosberger authored
invalid values.
-
- 11 Feb, 2003 4 commits
-
-
David Mosberger authored
-
Stéphane Eranian authored
Here is the patch that matches the changes I made for RHAS w.r.t perfmon and the O(1) scheduler. This fixes the deadlocks we were seing in RHAS and therefore on 2.5 as well. The key change is that SIGPROF notifications are now delivered in the perfmon kernel exit handler (called from entry.S). At that point, we know none of the runqueue locks are held. I have run the same test suite I used on RHAS overnight and no sign of deadlocks.
-
David Mosberger authored
-
David Mosberger authored
into tiger.hpl.hp.com:/data1/bk/lia64/to-linus-2.5
-
- 10 Feb, 2003 17 commits
-
-
David Mosberger authored
incomplete (as a result of a faulting mandatory RSE load).
-
David Mosberger authored
-
Randy Dunlap authored
Part of the bounds checking bugs found by the Stanford checker. The 4 fixes below have been acked by their maintainers.
-
Andrew Morton authored
Move the definition of version[] down to where __initdata has been defined.
-
Andrew Morton authored
Patch from Joel Becker <Joel.Becker@oracle.com> The task_struct->sig -> task_struct->signal bits.
-
Andrew Morton authored
Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> points out a bug in ll_rw_block() usage. Typical usage is: mark_buffer_dirty(bh); ll_rw_block(WRITE, 1, &bh); wait_on_buffer(bh); the problem is that if the buffer was locked on entry to this code sequence (due to in-progress I/O), ll_rw_block() will not wait, and start new I/O. So this code will wait on the _old_ I/O, and will then continue execution, leaving the buffer dirty. It turns out that all callers were only writing one buffer, and they were all waiting on that writeout. So I added a new sync_dirty_buffer() function: void sync_dirty_buffer(struct buffer_head *bh) { lock_buffer(bh); if (test_clear_buffer_dirty(bh)) { get_bh(bh); bh->b_end_io = end_buffer_io_sync; submit_bh(WRITE, bh); } else { unlock_buffer(bh); } } which allowed a fair amount of code to be removed, while adding the desired data-integrity guarantees. UFS has its own wrappers around ll_rw_block() which got in the way, so this operation was open-coded in that case.
-
Dave Jones authored
into tetrachloride.(none):/mnt/stuff/kernel/2.5/agpgart-respin
-
Dave Jones authored
-
Dave Jones authored
-
Dave Jones authored
This removes lots of annoying problems trying to prevent both modules from being loaded, and also shares quite a bit of code. CONFIG_AGP3 will disable AGP3 mode operation of KT400s.
-
Dave Jones authored
-
Dave Jones authored
-
Dave Jones authored
Based upon information from VIA, this also adds a bunch of placeholder entries that will get filled in over time when they have been proven to work with the code with no extra modification.
-
Dave Jones authored
The AGP3 spec allows for >1 AGP bus. This is the first of several patches from Jeff Hartmann towards a context-using agp_bridge, by replacing agp_bridge.foo accesses with agp_bridge->foo accesses. For now, there should be no functional differences, as there is still only a single agp_bridge_data struct defined.
-
Dave Jones authored
-
Dave Jones authored
-
Dave Jones authored
-