<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/head32.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-23T03:37:50Z</updated>
<entry>
<title>Merge branch 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2010-10-23T03:37:50Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-10-23T03:37:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10f2a2b0f68abf39c06cf519cbc1740fa50f900b'/>
<id>urn:sha1:10f2a2b0f68abf39c06cf519cbc1740fa50f900b</id>
<content type='text'>
* 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86-32, mm: Add an initial page table for core bootstrapping
</content>
</entry>
<entry>
<title>x86-32, mm: Add an initial page table for core bootstrapping</title>
<updated>2010-10-20T21:23:55Z</updated>
<author>
<name>Borislav Petkov</name>
</author>
<published>2010-08-28T13:58:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b40827fa7268fda8a62490728a61c2856f33830b'/>
<id>urn:sha1:b40827fa7268fda8a62490728a61c2856f33830b</id>
<content type='text'>
This patch adds an initial page table with low mappings used exclusively
for booting APs/resuming after ACPI suspend/machine restart. After this,
there's no need to add low mappings to swapper_pg_dir and zap them later
or create own swsusp PGD page solely for ACPI sleep needs - we have
initial_page_table for that.

Signed-off-by: Borislav Petkov &lt;bp@alien8.de&gt;
LKML-Reference: &lt;20101020070526.GA9588@liondog.tnic&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.36-rc3' into x86/memblock</title>
<updated>2010-08-31T07:45:46Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2010-08-31T07:45:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=daab7fc734a53fdeaf844b7c03053118ad1769da'/>
<id>urn:sha1:daab7fc734a53fdeaf844b7c03053118ad1769da</id>
<content type='text'>
Conflicts:
	arch/x86/kernel/trampoline.c
	mm/memblock.c

Merge reason: Resolve the conflicts, update to latest upstream.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, memblock: Replace e820_/_early string with memblock_</title>
<updated>2010-08-27T18:13:47Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2010-08-25T20:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a9ce6bc15100023b411f8117e53a016d61889800'/>
<id>urn:sha1:a9ce6bc15100023b411f8117e53a016d61889800</id>
<content type='text'>
1.include linux/memblock.h directly. so later could reduce e820.h reference.
2 this patch is done by sed scripts mainly

-v2: use MEMBLOCK_ERROR instead of -1ULL or -1UL

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: Use memblock to replace early_res</title>
<updated>2010-08-27T18:12:29Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2010-08-25T20:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72d7c3b33c980843e756681fb4867dc1efd62a76'/>
<id>urn:sha1:72d7c3b33c980843e756681fb4867dc1efd62a76</id>
<content type='text'>
1. replace find_e820_area with memblock_find_in_range
2. replace reserve_early with memblock_x86_reserve_range
3. replace free_early with memblock_x86_free_range.
4. NO_BOOTMEM will switch to use memblock too.
5. use _e820, _early wrap in the patch, in following patch, will
   replace them all
6. because memblock_x86_free_range support partial free, we can remove some special care
7. Need to make sure that memblock_find_in_range() is called after memblock_x86_fill()
   so adjust some calling later in setup.c::setup_arch()
   -- corruption_check and mptable_update

-v2: Move reserve_brk() early
    Before fill_memblock_area, to avoid overlap between brk and memblock_find_in_range()
    that could happen We have more then 128 RAM entry in E820 tables, and
    memblock_x86_fill() could use memblock_find_in_range() to find a new place for
    memblock.memory.region array.
    and We don't need to use extend_brk() after fill_memblock_area()
    So move reserve_brk() early before fill_memblock_area().
-v3: Move find_smp_config early
    To make sure memblock_find_in_range not find wrong place, if BIOS doesn't put mptable
    in right place.
-v4: Treat RESERVED_KERN as RAM in memblock.memory. and they are already in
    memblock.reserved already..
    use __NOT_KEEP_MEMBLOCK to make sure memblock related code could be freed later.
-v5: Generic version __memblock_find_in_range() is going from high to low, and for 32bit
    active_region for 32bit does include high pages
    need to replace the limit with memblock.default_alloc_limit, aka get_max_mapped()
-v6: Use current_limit instead
-v7: check with MEMBLOCK_ERROR instead of -1ULL or -1L
-v8: Set memblock_can_resize early to handle EFI with more RAM entries
-v9: update after kmemleak changes in mainline

Suggested-by: David S. Miller &lt;davem@davemloft.net&gt;
Suggested-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Suggested-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>fix typos concerning "initiali[zs]e"</title>
<updated>2010-06-16T16:05:05Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2010-06-11T10:17:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=421f91d21ad6f799dc7b489bb33cc560ccc56f98'/>
<id>urn:sha1:421f91d21ad6f799dc7b489bb33cc560ccc56f98</id>
<content type='text'>
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>x86: Make sure free_init_pages() frees pages on page boundary</title>
<updated>2010-03-29T16:55:33Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2010-03-29T02:42:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c967da6a0ba837f762042e931d4afcf72045547c'/>
<id>urn:sha1:c967da6a0ba837f762042e931d4afcf72045547c</id>
<content type='text'>
When CONFIG_NO_BOOTMEM=y, it could use memory more effiently, or
in a more compact fashion.

Example:

 Allocated new RAMDISK: 00ec2000 - 0248ce57
 Move RAMDISK from 000000002ea04000 - 000000002ffcee56 to 00ec2000 - 0248ce56

The new RAMDISK's end is not page aligned.
Last page could be shared with other users.

When free_init_pages are called for initrd or .init, the page
could be freed and we could corrupt other data.

code segment in free_init_pages():

 |        for (; addr &lt; end; addr += PAGE_SIZE) {
 |                ClearPageReserved(virt_to_page(addr));
 |                init_page_count(virt_to_page(addr));
 |                memset((void *)(addr &amp; ~(PAGE_SIZE-1)),
 |                        POISON_FREE_INITMEM, PAGE_SIZE);
 |                free_page(addr);
 |                totalram_pages++;
 |        }

last half page could be used as one whole free page.

So page align the boundaries.

-v2: make the original initramdisk to be aligned, according to
     Johannes, otherwise we have the chance to lose one page.
     we still need to keep initrd_end not aligned, otherwise it could
     confuse decompressor.
-v3: change to WARN_ON instead, suggested by Johannes.
-v4: use PAGE_ALIGN, suggested by Johannes.
     We may fix that macro name later to PAGE_ALIGN_UP, and PAGE_ALIGN_DOWN
     Add comments about assuming ramdisk start is aligned
     in relocate_initrd(), change to re get ramdisk_image instead of save it
     to make diff smaller. Add warning for wrong range, suggested by Johannes.
-v6: remove one WARN()
     We need to align beginning in free_init_pages()
     do not copy more than ramdisk_size, noticed by Johannes

Reported-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Tested-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Acked-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
LKML-Reference: &lt;1269830604-26214-3-git-send-email-yinghai@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: Move bios page reserve early to head32/64.c</title>
<updated>2010-02-12T17:42:38Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2010-02-10T09:20:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db8f77c889542b09457b8b97efb311343c99a75d'/>
<id>urn:sha1:db8f77c889542b09457b8b97efb311343c99a75d</id>
<content type='text'>
So prepare to make one more clean of early_res.c.

-v2: don't need to reserve first page in early_res
     because we already mark that in e820 as reserved already.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
LKML-Reference: &lt;1265793639-15071-20-git-send-email-yinghai@kernel.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: Use find_e820() instead of hard coded trampoline address</title>
<updated>2009-12-11T08:28:22Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-12-10T21:07:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=893f38d144a4d96d2483cd7c3801d26e1b2c23e9'/>
<id>urn:sha1:893f38d144a4d96d2483cd7c3801d26e1b2c23e9</id>
<content type='text'>
Jens found the following crash/regression:

[    0.000000] found SMP MP-table at [ffff8800000fdd80] fdd80
[    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 0-fff BIOS data page

and

[    0.000000] Kernel panic - not syncing: Overlapping early reservations 12-f011 MP-table mpc to 6000-7fff TRAMPOLINE

and bisected it to b24c2a9 ("x86: Move find_smp_config()
earlier and avoid bootmem usage").

It turns out the BIOS is using the first 64k for mptable,
without reserving it.

So try to find good range for the real-mode trampoline instead of
hard coding it, in case some bios tries to use that range for sth.

Reported-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Tested-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
LKML-Reference: &lt;4B21630A.6000308@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: Add Moorestown early detection</title>
<updated>2009-08-31T09:09:40Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2009-08-29T12:54:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f4110a48a749a1aa1c54fb807afb3f32f49711c'/>
<id>urn:sha1:3f4110a48a749a1aa1c54fb807afb3f32f49711c</id>
<content type='text'>
Moorestown MID devices need to be detected early in the boot process
to setup and do not call x86_default_early_setup as there is no EBDA
region to reserve.

[ Copied the minimal code from Jacobs latest MRST series ]

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Jacob Pan &lt;jacob.jun.pan@intel.com&gt;
</content>
</entry>
</feed>
