<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/e820.c, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-05-08T04:42:39Z</updated>
<entry>
<title>x86: fix boot hang in early_reserve_e820()</title>
<updated>2009-05-08T04:42:39Z</updated>
<author>
<name>Jan Beulich</name>
</author>
<published>2009-05-06T12:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61438766514a2d7f191ce1b3cf6812eabbef4ef7'/>
<id>urn:sha1:61438766514a2d7f191ce1b3cf6812eabbef4ef7</id>
<content type='text'>
If the first non-reserved (sub-)range doesn't fit the size requested,
an endless loop will be entered. If a range returned from
find_e820_area_size() turns out insufficient in size, the range must
be skipped before calling the function again.

[ Impact: fixes boot hang on some platforms ]

Signed-off-by: Jan Beulich &lt;jbeulich@novell.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86: e820 fix various signedness issues in setup.c and e820.c</title>
<updated>2009-03-23T09:32:05Z</updated>
<author>
<name>Jaswinder Singh Rajput</name>
</author>
<published>2009-03-22T20:43:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba639039d68cd978f4fa900a6533fe930609ed35'/>
<id>urn:sha1:ba639039d68cd978f4fa900a6533fe930609ed35</id>
<content type='text'>
Impact: cleanup

This fixed various signedness issues in setup.c and e820.c:
arch/x86/kernel/setup.c:455:53: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/setup.c:455:53:    expected int *pnr_map
arch/x86/kernel/setup.c:455:53:    got unsigned int extern [toplevel] *&lt;noident&gt;
arch/x86/kernel/setup.c:639:53: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/setup.c:639:53:    expected int *pnr_map
arch/x86/kernel/setup.c:639:53:    got unsigned int extern [toplevel] *&lt;noident&gt;
arch/x86/kernel/setup.c:820:54: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/setup.c:820:54:    expected int *pnr_map
arch/x86/kernel/setup.c:820:54:    got unsigned int extern [toplevel] *&lt;noident&gt;

arch/x86/kernel/e820.c:670:53: warning: incorrect type in argument 3 (different signedness)
arch/x86/kernel/e820.c:670:53:    expected int *pnr_map
arch/x86/kernel/e820.c:670:53:    got unsigned int [toplevel] *&lt;noident&gt;

Signed-off-by: Jaswinder Singh Rajput &lt;jaswinderrajput@gmail.com&gt;
</content>
</entry>
<entry>
<title>x86: print out more info in e820_update_range()</title>
<updated>2009-03-15T09:01:59Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-03-15T07:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c61cf4cfe7c73c7aa62dde3ff82cd475b9c41481'/>
<id>urn:sha1:c61cf4cfe7c73c7aa62dde3ff82cd475b9c41481</id>
<content type='text'>
Impact: help debug e820 bugs

Try to print out more info, to catch wrong call parameters.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
LKML-Reference: &lt;49BCB557.3030000@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: make e820_update_range() handle small range update</title>
<updated>2009-03-14T11:20:07Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-03-13T05:36:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=78a8b35bc7abf8b8333d6f625e08c0f7cc1c3742'/>
<id>urn:sha1:78a8b35bc7abf8b8333d6f625e08c0f7cc1c3742</id>
<content type='text'>
Impact: enhance e820 code to handle more cases

Try to handle new range which could be covered by one entry.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: jbeulich@novell.com
LKML-Reference: &lt;49B9F0C1.10402@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: fix e820_update_range()</title>
<updated>2009-03-13T04:38:29Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-03-13T04:35:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=773e673de27297d07d852e7e9bfd1a695cae1da2'/>
<id>urn:sha1:773e673de27297d07d852e7e9bfd1a695cae1da2</id>
<content type='text'>
Impact: fix left range size on head

| commit 5c0e6f035df983210e4d22213aed624ced502d3d
|    x86: fix code paths used by update_mptable
|    Impact: fix crashes under Xen due to unrobust e820 code

fixes one e820 bug, but introduces another bug.

Need to update size for left range at first in case it is header.

also add __e820_add_region take more parameter.

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: jbeulich@novell.com
LKML-Reference: &lt;49B9E286.502@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: fix code paths used by update_mptable</title>
<updated>2009-03-13T01:37:19Z</updated>
<author>
<name>Jan Beulich</name>
</author>
<published>2009-03-12T13:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c0e6f035df983210e4d22213aed624ced502d3d'/>
<id>urn:sha1:5c0e6f035df983210e4d22213aed624ced502d3d</id>
<content type='text'>
Impact: fix crashes under Xen due to unrobust e820 code

find_e820_area_size() must return a properly distinguishable and
out-of-bounds value when it fails, and -1UL does not meet that
criteria on i386/PAE. Additionally, callers of the function must
check against that value.

early_reserve_e820() should be prepared for the region found to be
outside of the addressable range on 32-bits.

e820_update_range_map() should not blindly update e820, but should do
all it work on the map it got a pointer passed for (which in 50% of the
cases is &amp;e820_saved). It must also not call e820_add_region(), as that
again acts on e820 unconditionally.

The issues were found when trying to make this option work in our Xen
kernel (i.e. where some of the silent assumptions made in the code
would not hold).

Signed-off-by: Jan Beulich &lt;jbeulich@novell.com&gt;
LKML-Reference: &lt;49B9171B.76E4.0078.0@novell.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: check range in reserve_early()</title>
<updated>2009-02-24T21:43:15Z</updated>
<author>
<name>Yinghai Lu</name>
</author>
<published>2009-02-24T21:12:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=46cb27f5169d37be38be8e5729b9a0100e989fa8'/>
<id>urn:sha1:46cb27f5169d37be38be8e5729b9a0100e989fa8</id>
<content type='text'>
Impact: cleanup

one 32-bit system reports:

BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001c000000 (usable)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
DMI 2.0 present.
last_pfn = 0x1c000 max_arch_pfn = 0x100000
kernel direct mapping tables up to 1c000000 @ 7000-c000
..
RAMDISK: 1bc69000 - 1bfef4fa
..
0MB HIGHMEM available.
448MB LOWMEM available.
  mapped low ram: 0 - 1c000000
  low ram: 00000000 - 1c000000
  bootmap 00002000 - 00005800
(9 early reservations) ==&gt; bootmem [0000000000 - 001c000000]
  #0 [0000000000 - 0000001000]   BIOS data page ==&gt; [0000000000 - 0000001000]
  #1 [0000001000 - 0000002000]    EX TRAMPOLINE ==&gt; [0000001000 - 0000002000]
  #2 [0000006000 - 0000007000]       TRAMPOLINE ==&gt; [0000006000 - 0000007000]
  #3 [0000400000 - 00009ed14c]    TEXT DATA BSS ==&gt; [0000400000 - 00009ed14c]
  #4 [001bc69000 - 001bfef4fa]          RAMDISK ==&gt; [001bc69000 - 001bfef4fa]
  #5 [00009ee000 - 00009f2000]    INIT_PG_TABLE ==&gt; [00009ee000 - 00009f2000]
  #6 [000009f400 - 0000100000]    BIOS reserved ==&gt; [000009f400 - 0000100000]
  #7 [0000007000 - 0000007000]          PGTABLE
  #8 [0000002000 - 0000006000]          BOOTMAP ==&gt; [0000002000 - 0000006000]

Notice the strange blank PGTABLE entry.

The reason is init_pg_table is big enough, and zero range is called
with init_memory_mapping/reserve_early().

So try to check the range in reserve_early()

v2: fix the reversed compare

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: nickpiggin@yahoo.com.au
Cc: ink@jurassic.park.msu.ru
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into release</title>
<updated>2009-01-09T08:39:43Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2009-01-09T08:39:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2576e1d4408e134e2188c967b1f28af39cd79d4'/>
<id>urn:sha1:b2576e1d4408e134e2188c967b1f28af39cd79d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86 hibernate: Mark ACPI NVS memory region at startup</title>
<updated>2008-12-19T09:40:35Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2008-10-31T00:02:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b69edc76539be6a4aa39a22f85365fd4a3b3b9d2'/>
<id>urn:sha1:b69edc76539be6a4aa39a22f85365fd4a3b3b9d2</id>
<content type='text'>
Introduce new initcall for marking the ACPI NVS memory at startup, so
that it can be saved/restored during hibernation/resume.

Based on a patch by Zhang Rui.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>x86: change static allocation of trampoline area</title>
<updated>2008-12-08T12:49:45Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2008-12-07T23:50:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3e1e9002aa8b32bd4c95ac6c8fad376b7a8127fb'/>
<id>urn:sha1:3e1e9002aa8b32bd4c95ac6c8fad376b7a8127fb</id>
<content type='text'>
Impact: fix trampoline sizing bug, save space

While debugging a suspend-to-RAM related issue it occured to me that
if the trampoline code had grown past 4 KB, we would have been
allocating too little memory for it, since the 4 KB size of the
trampoline is hardcoded into arch/x86/kernel/e820.c .  Change that
by making the kernel compute the trampoline size and allocate as much
memory as necessary.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
