fixmap align initialization

Andrea Arcangeli (arcangeli@mbox.queen.it)
Mon, 10 Aug 1998 19:51:53 +0200 (CEST)


Developing my per-IRQ stack patch (that btw seems to not work very well
due ramdom lock or reboot ;-) I had to play with fixmap (that seems
developed by Ingo according to fixmap.h). I think to have discovered and
fixed some bugs in the fixmap code.

Patch against 115.

--- /usr/src/linux/arch/i386/kernel/smp.c Sat Aug 8 15:20:09 1998
+++ linux/arch/i386/kernel/smp.c Mon Aug 10 19:45:36 1998
@@ -658,6 +658,7 @@
{
unsigned long apic_phys, ioapic_phys;

+ memory_start = PAGE_ALIGN(memory_start);
if (smp_found_config) {
apic_phys = mp_lapic_addr;
ioapic_phys = mp_ioapic_addr;
--- /usr/src/linux/arch/i386/mm/init.c Sat Aug 8 15:22:48 1998
+++ linux/arch/i386/mm/init.c Mon Aug 10 19:46:10 1998
@@ -210,15 +210,15 @@
/*
* allocate page table(s) for compile-time fixed mappings
*/
-static unsigned long fixmap_init (unsigned long start_mem)
+static unsigned long __init fixmap_init (unsigned long start_mem)
{
pgd_t * pg_dir;
unsigned int idx;
unsigned long address;

- start_mem &= PAGE_MASK;
+ start_mem = PAGE_ALIGN(start_mem);

- for (idx=1; idx < __end_of_fixed_addresses; idx += PTRS_PER_PTE)
+ for (idx=0; idx < __end_of_fixed_addresses; idx += PTRS_PER_PTE)
{
address = fix_to_virt(__end_of_fixed_addresses-idx);
pg_dir = swapper_pg_dir + (address >> PGDIR_SHIFT);

Andrea[s] Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html