<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/boot, 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-07-30T21:40:09Z</updated>
<entry>
<title>x86, setup (2.6.30-stable) fix 80x34 and 80x60 console modes</title>
<updated>2009-07-30T21:40:09Z</updated>
<author>
<name>Marc Aurele La France</name>
</author>
<published>2009-06-30T00:07:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe9ec90d1c0248bd753c1b45e7e26aec71424657'/>
<id>urn:sha1:fe9ec90d1c0248bd753c1b45e7e26aec71424657</id>
<content type='text'>
Note: this is not in upstream since upstream is not affected due to the
      new "BIOS glovebox" subsystem.

As coded, most INT10 calls in video-vga.c allow the compiler to assume
EAX remains unchanged across them, which is not always the case.  This
triggers an optimisation issue that causes vga_set_vertical_end() to be
called with an incorrect number of scanlines.  Fix this by beefing up
the asm constraints on these calls.

Reported-by: Marc Aurele La France &lt;tsi@xfree86.org&gt;
Signed-off-by: Marc Aurele La France &lt;tsi@xfree86.org&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86, relocs: ignore R_386_NONE in kernel relocation entries</title>
<updated>2009-05-26T05:52:49Z</updated>
<author>
<name>Tejun Heo</name>
</author>
<published>2009-05-26T05:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=46176b4f6bac19454b7b5c35f68594b85850a600'/>
<id>urn:sha1:46176b4f6bac19454b7b5c35f68594b85850a600</id>
<content type='text'>
For relocatable 32bit kernels, boot/compressed/relocs.c processes
relocation entries in the kernel image and appends it to the kernel
image such that boot/compressed/head_32.S can relocate the kernel.
The kernel image is one statically linked object and only uses two
relocation types - R_386_PC32 and R_386_32, of the two only the latter
needs massaging during kernel relocation and thus handled by relocs.
R_386_PC32 is ignored and all other relocation types are considered
error.

When the target of a relocation resides in a discarded section,
binutils doesn't throw away the relocation record but nullifies it by
changing it to R_386_NONE, which unfortunately makes relocs fail.

The problem was triggered by yet out-of-tree x86 stack unwind patches
but given the binutils behavior, ignoring R_386_NONE is the right
thing to do.

The problem has been tracked down to binutils behavior by Jan Beulich.

[ Impact: fix build with certain binutils by ignoring R_386_NONE ]

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Jan Beulich &lt;JBeulich@novell.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
LKML-Reference: &lt;4A1B8150.40702@kernel.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86, setup: revert ACPI 3 E820 extended attributes support</title>
<updated>2009-05-22T18:14:02Z</updated>
<author>
<name>H. Peter Anvin</name>
</author>
<published>2009-05-21T18:46:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bca23dba760d6705c013f89113c46570378fb626'/>
<id>urn:sha1:bca23dba760d6705c013f89113c46570378fb626</id>
<content type='text'>
Remove ACPI 3 E820 extended memory attributes support.  At least one
vendor actively set all the flags to zero, but left ECX on return at
24.  This bug may be present in other BIOSes.

The breakage functionally means the ACPI 3 flags are probably
completely useless, and that no OS any time soon is going to rely on
their existence.  Therefore, drop support completely.  We may want to
revisit this question in the future, if we find ourselves actually
needing the flags.

This reverts all or part of the following checkins:

     cd670599b7b00d9263f6f11a05c0edeb9cbedaf3
     c549e71d073a6e9a4847497344db28a784061455

However, retain the part from the latter commit that copies e820 into
a temporary buffer; that is an unrelated BIOS workaround.  Put in a
comment to explain that part.

See https://bugzilla.redhat.com/show_bug.cgi?id=499396 for some
additional information.

[ Impact: detect all memory on affected machines ]

Reported-by: Thomas J. Baker &lt;tjb@unh.edu&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Acked-by: Len Brown &lt;len.brown@intel.com&gt;
Cc: Chuck Ebbert &lt;cebbert@redhat.com&gt;
Cc: Kyle McMartin &lt;kmcmartin@redhat.com&gt;
Cc: Matt Domsch &lt;matt_domsch@dell.com&gt;
</content>
</entry>
<entry>
<title>x86, setup: un-resequence mode setting for VGA 80x34 and 80x60 modes</title>
<updated>2009-04-07T17:59:25Z</updated>
<author>
<name>H. Peter Anvin</name>
</author>
<published>2009-04-07T17:59:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e274a582710e95d93b86e8d47e9fcce4ca09d01'/>
<id>urn:sha1:1e274a582710e95d93b86e8d47e9fcce4ca09d01</id>
<content type='text'>
Impact: Fixes these modes on at least one system

The rewrite of the setup code into C resequenced the font setting and
register reprogramming phases of configuring nonstandard VGA modes
which use 480 scan lines in text mode.  However, there exists at least
one board (Micro-Star MS-7383 version 2.0) on which this resequencing
causes an unusable display.

Revert to the original sequencing: set up 480-line mode, install the
font, and then adjust the vertical end register appropriately.

This failure was masked by the fact that the 480-line setup was broken
until checkin 5f641356127712fbdce0eee120e5ce115860c17f (therefore this
is not a -stable candidate bug fix.)

Reported-by: Andi Kleen &lt;andi@firstfloor.org&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dma-debug' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent</title>
<updated>2009-04-03T14:35:09Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-04-03T14:35:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=484cad34dd667235565c14a40e2f5a8143184aaa'/>
<id>urn:sha1:484cad34dd667235565c14a40e2f5a8143184aaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86, setup: compile with -DDISABLE_BRANCH_PROFILING</title>
<updated>2009-04-03T14:34:45Z</updated>
<author>
<name>H. Peter Anvin</name>
</author>
<published>2009-04-02T00:35:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95a38f34635bdf06089de763b4becbc957694977'/>
<id>urn:sha1:95a38f34635bdf06089de763b4becbc957694977</id>
<content type='text'>
Impact: code size reduction (possibly critical)

The x86 boot and decompression code has no use of the branch profiling
constructs, so disable them.  This would bloat the setup code by as
much as 14K, eating up a fairly large chunk of the 32K area we are
guaranteed to have.

Signed-off-by: H. Peter Anvin &lt;hpa@linux.intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx</title>
<updated>2009-04-01T18:35:00Z</updated>
<author>
<name>H. Peter Anvin</name>
</author>
<published>2009-04-01T18:35:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd670599b7b00d9263f6f11a05c0edeb9cbedaf3'/>
<id>urn:sha1:cd670599b7b00d9263f6f11a05c0edeb9cbedaf3</id>
<content type='text'>
Impact: BIOS bug safety

For pre-ACPI 3 BIOSes, pre-initialize the end of the e820 buffer just
in case the BIOS returns an unchanged %ecx but without actually
touching the ACPI 3 extended flags field.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86, setup: ACPI 3, BIOS workaround for E820-probing code</title>
<updated>2009-03-29T01:20:07Z</updated>
<author>
<name>H. Peter Anvin</name>
</author>
<published>2009-03-28T20:53:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c549e71d073a6e9a4847497344db28a784061455'/>
<id>urn:sha1:c549e71d073a6e9a4847497344db28a784061455</id>
<content type='text'>
Impact: ACPI 3 spec compliance, BIOS bug workaround

The ACPI 3 spec added another field to the E820 buffer -- which is
backwards incompatible, since it contains a validity bit.
Furthermore, there has been at least one report of a BIOS which
assumes that the buffer it is pointed at is the same buffer as for the
previous E820 call.  Therefore, read the data into a temporary buffer
and copy the standard part of it if and only if the valid bit is set.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86, setup: preemptively save/restore edi and ebp around INT 15 E820</title>
<updated>2009-03-29T01:18:20Z</updated>
<author>
<name>H. Peter Anvin</name>
</author>
<published>2009-03-28T20:53:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32ec7fd08b597586774b92ac1cd2678021ccac1b'/>
<id>urn:sha1:32ec7fd08b597586774b92ac1cd2678021ccac1b</id>
<content type='text'>
Impact: BIOS bugproofing

Since there are BIOSes known to clobber %ebx and %esi for INT 15 E820,
assume there is something out there clobbering %edi and/or %ebp too,
and don't wait for it to fail.

Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
</content>
</entry>
<entry>
<title>x86, setup: mark %esi as clobbered in E820 BIOS call</title>
<updated>2009-03-28T19:45:39Z</updated>
<author>
<name>Michael K. Johnson</name>
</author>
<published>2009-03-27T17:14:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01522df346f846906eaf6ca57148641476209909'/>
<id>urn:sha1:01522df346f846906eaf6ca57148641476209909</id>
<content type='text'>
Jordan Hargrave diagnosed a BIOS clobbering %esi in the E820 call.
That particular BIOS has been fixed, but there is a possibility that
this is responsible for other occasional reports of early boot
failure, and it does not hurt to add %esi to the clobbers.

-stable candidate patch.

Cc: Justin Forbes &lt;jmforbes@linuxtx.org&gt;
Signed-off-by: Michael K Johnson &lt;johnsonm@rpath.com&gt;
Signed-off-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: stable@kernel.org
</content>
</entry>
</feed>
