<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/acpi/boot.c, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-04-26T09:00:36Z</updated>
<entry>
<title>x86/acpi: Prevent X2APIC id 0xffffffff from being accounted</title>
<updated>2018-04-26T09:00:36Z</updated>
<author>
<name>Dou Liyang</name>
</author>
<published>2018-04-12T01:40:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd069d4600e834ad984a91a76dd3cb90dd882245'/>
<id>urn:sha1:bd069d4600e834ad984a91a76dd3cb90dd882245</id>
<content type='text'>
commit 10daf10ab154e31237a8c07242be3063fb6a9bf4 upstream.

RongQing reported that there are some X2APIC id 0xffffffff in his machine's
ACPI MADT table, which makes the number of possible CPU inaccurate.

The reason is that the ACPI X2APIC parser has no sanity check for APIC ID
0xffffffff, which is an invalid id in all APIC types. See "Intel® 64
Architecture x2APIC Specification", Chapter 2.4.1.

Add a sanity check to acpi_parse_x2apic() which ignores the invalid id.

Reported-by: Li RongQing &lt;lirongqing@baidu.com&gt;
Signed-off-by: Dou Liyang &lt;douly.fnst@cn.fujitsu.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable@vger.kernel.org
Cc: len.brown@intel.com
Cc: rjw@rjwysocki.net
Cc: hpa@zytor.com
Link: https://lkml.kernel.org/r/20180412014052.25186-1-douly.fnst@cn.fujitsu.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86/apic: Fix signedness bug in APIC ID validity checks</title>
<updated>2018-04-19T06:54:08Z</updated>
<author>
<name>Li RongQing</name>
</author>
<published>2018-04-10T01:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb46410a036a1f680e5875cf1dfc72a3827e7e4a'/>
<id>urn:sha1:bb46410a036a1f680e5875cf1dfc72a3827e7e4a</id>
<content type='text'>
commit a774635db5c430cbf21fa5d2f2df3d23aaa8e782 upstream.

The APIC ID as parsed from ACPI MADT is validity checked with the
apic-&gt;apic_id_valid() callback, which depends on the selected APIC type.

For non X2APIC types APIC IDs &gt;= 0xFF are invalid, but values &gt; 0x7FFFFFFF
are detected as valid. This happens because the 'apicid' argument of the
apic_id_valid() callback is type 'int'. So the resulting comparison

   apicid &lt; 0xFF

evaluates to true for all unsigned int values &gt; 0x7FFFFFFF which are handed
to default_apic_id_valid(). As a consequence, invalid APIC IDs in !X2APIC
mode are considered valid and accounted as possible CPUs.

Change the apicid argument type of the apic_id_valid() callback to u32 so
the evaluation is unsigned and returns the correct result.

[ tglx: Massaged changelog ]

Signed-off-by: Li RongQing &lt;lirongqing@baidu.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable@vger.kernel.org
Cc: jgross@suse.com
Cc: Dou Liyang &lt;douly.fnst@cn.fujitsu.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: hpa@zytor.com
Link: https://lkml.kernel.org/r/1523322966-10296-1-git-send-email-lirongqing@baidu.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ACPI: SPCR: Make SPCR available to x86</title>
<updated>2018-02-07T10:39:58Z</updated>
<author>
<name>Prarit Bhargava</name>
</author>
<published>2018-01-18T15:09:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0231d00082f61cfe03f2b7c27e5356f8cdf0312c'/>
<id>urn:sha1:0231d00082f61cfe03f2b7c27e5356f8cdf0312c</id>
<content type='text'>
SPCR is currently only enabled or ARM64 and x86 can use SPCR to setup
an early console.

General fixes include updating Documentation &amp; Kconfig (for x86),
updating comments, and changing parse_spcr() to acpi_parse_spcr(),
and earlycon_init_is_deferred to earlycon_acpi_spcr_enable to be
more descriptive.

On x86, many systems have a valid SPCR table but the table version is
not 2 so the table version check must be a warning.

On ARM64 when the kernel parameter earlycon is used both the early console
and console are enabled.  On x86, only the earlycon should be enabled by
by default.  Modify acpi_parse_spcr() to allow options for initializing
the early console and console separately.

Signed-off-by: Prarit Bhargava &lt;prarit@redhat.com&gt;
Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Reviewed-by: Mark Salter &lt;msalter@redhat.com&gt;
Tested-by: Mark Salter &lt;msalter@redhat.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / x86: boot: Propagate error code in acpi_gsi_to_irq()</title>
<updated>2018-01-05T13:10:24Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2018-01-02T14:08:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a89bca278220a4ea57ea5e57a037262f258c7d72'/>
<id>urn:sha1:a89bca278220a4ea57ea5e57a037262f258c7d72</id>
<content type='text'>
acpi_get_override_irq() followed by acpi_register_gsi() returns negative
error code on failure.

Propagate it from acpi_gsi_to_irq() to callers.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
[ rjw : Subject/changelog ]
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / x86: boot: Don't setup SCI on HW-reduced platforms</title>
<updated>2017-12-28T11:36:46Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2017-12-15T21:25:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c7bcfeae2d8e59066bd273b7d70392574e14c15'/>
<id>urn:sha1:7c7bcfeae2d8e59066bd273b7d70392574e14c15</id>
<content type='text'>
As per note in 5.2.9 Fixed ACPI Description Table (FADT) chapter of ACPI
specification, on HW-reduced platforma OSPM should ignore fields related
to the ACPI HW register interface, one of which is SCI_INT.

Follow the spec and ignore any configuration done for interrupt line
defined by SCI_INT if FADT specifies a HW-reduced platform.

HW-reduced platforms will still be able to use SCI in case it provides
an override record in MADT table.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / x86: boot: Use INVALID_ACPI_IRQ instead of 0 for acpi_sci_override_gsi</title>
<updated>2017-12-28T11:36:46Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2017-12-15T21:25:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4565c4f6056967ee8844fa550e3cbbe1c0e65a11'/>
<id>urn:sha1:4565c4f6056967ee8844fa550e3cbbe1c0e65a11</id>
<content type='text'>
0 is valid hardware interrupt which might be in some cases overridden.
Due to this, switch to INVALID_ACPI_IRQ to mark SCI override not set.

While here, change the type of the variable from int to u32 to match
the GSI type used in the rest of the code.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / x86: boot: Get rid of ACPI_INVALID_GSI</title>
<updated>2017-12-28T11:36:46Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2017-12-15T21:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=220580fb0d0a71cff0f17c24463c787f43dd6626'/>
<id>urn:sha1:220580fb0d0a71cff0f17c24463c787f43dd6626</id>
<content type='text'>
Commit 49e4b84333f3 (ACPI: Use correct IRQ when uninstalling ACPI
interrupt handler) brings a new definition for invalid ACPI IRQ,
i.e. INVALID_ACPI_IRQ, which is defined to 0xffffffff (or -1 for
unsigned value).

Get rid of a former one, which was brought in by commit 2c0a6894df19
(x86, ACPI, irq: Enhance error handling in function acpi_register_gsi()),
in favour of latter.

To clarify the rationale of changing from INT_MIN to ((unsigned)-1)
definition consider the following:
- IRQ 0 is valid one in hardware, so, better not to use it everywhere
  (Linux uses 0 as NO IRQ, though it's another story)
- INT_MIN splits the range into two, while 0xffffffff reserves only the
  last item
- when type casting is done in most cases 0xff, 0xffff is naturally used
  as a marker of invalid HW IRQ: for example PCI INT line 0xff means
  no IRQ assigned by BIOS

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / x86: boot: Swap variables in condition in acpi_register_gsi_ioapic()</title>
<updated>2017-12-28T11:36:45Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2017-12-15T21:25:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7d7fb91cb43aebdcadca6a0fce25c3174feab980'/>
<id>urn:sha1:7d7fb91cb43aebdcadca6a0fce25c3174feab980</id>
<content type='text'>
For better readability compare input to something considered settled
down. Additionally move it to one line (while it's slightly longer
80 characters it makes readability better).

No functional change intended.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>x86/acpi: Reduce code duplication in mp_override_legacy_irq()</title>
<updated>2017-11-17T14:30:33Z</updated>
<author>
<name>Vikas C Sajjan</name>
</author>
<published>2017-11-16T16:13:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ee2ec1b122599f7b10c849fa7915cebb37b7edb'/>
<id>urn:sha1:4ee2ec1b122599f7b10c849fa7915cebb37b7edb</id>
<content type='text'>
The new function mp_register_ioapic_irq() is a subset of the code in
mp_override_legacy_irq().

Replace the code duplication by invoking mp_register_ioapic_irq() from
mp_override_legacy_irq().

Signed-off-by: Vikas C Sajjan &lt;vikas.cha.sajjan@hpe.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Cc: linux-pm@vger.kernel.org
Cc: kkamagui@gmail.com
Cc: linux-acpi@vger.kernel.org
Link: https://lkml.kernel.org/r/1510848825-21965-3-git-send-email-vikas.cha.sajjan@hpe.com

</content>
</entry>
<entry>
<title>x86/acpi: Handle SCI interrupts above legacy space gracefully</title>
<updated>2017-11-17T14:30:33Z</updated>
<author>
<name>Vikas C Sajjan</name>
</author>
<published>2017-11-16T16:13:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=252714155f04c5d16989cb3aadb85fd1b5772f99'/>
<id>urn:sha1:252714155f04c5d16989cb3aadb85fd1b5772f99</id>
<content type='text'>
Platforms which support only IOAPIC mode, pass the SCI information above
the legacy space (0-15) via the FADT mechanism and not via MADT.

In such cases mp_override_legacy_irq() which is invoked from
acpi_sci_ioapic_setup() to register SCI interrupts fails for interrupts
greater equal 16, since it is meant to handle only the legacy space and
emits error "Invalid bus_irq %u for legacy override".

Add a new function to handle SCI interrupts &gt;= 16 and invoke it
conditionally in acpi_sci_ioapic_setup().

The code duplication due to this new function will be cleaned up in a
separate patch.

Co-developed-by: Sunil V L &lt;sunil.vl@hpe.com&gt;
Signed-off-by: Vikas C Sajjan &lt;vikas.cha.sajjan@hpe.com&gt;
Signed-off-by: Sunil V L &lt;sunil.vl@hpe.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Abdul Lateef Attar &lt;abdul-lateef.attar@hpe.com&gt;
Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Cc: linux-pm@vger.kernel.org
Cc: kkamagui@gmail.com
Cc: linux-acpi@vger.kernel.org
Link: https://lkml.kernel.org/r/1510848825-21965-2-git-send-email-vikas.cha.sajjan@hpe.com

</content>
</entry>
</feed>
