<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/apic, branch linux-4.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-10-16T16:03:40Z</updated>
<entry>
<title>x86/apic: Get rid of apic_version[] array</title>
<updated>2016-10-16T16:03:40Z</updated>
<author>
<name>Denys Vlasenko</name>
</author>
<published>2016-09-13T18:12:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=720aa4d9794f14940c38ada893ab9f2a2107b562'/>
<id>urn:sha1:720aa4d9794f14940c38ada893ab9f2a2107b562</id>
<content type='text'>
commit cff9ab2b291e64259d97add48fe073c081afe4e2 upstream.

The array has a size of MAX_LOCAL_APIC, which can be as large as 32k, so it
can consume up to 128k.

The array has been there forever and was never used for anything useful
other than a version mismatch check which was introduced in 2009.

There is no reason to store the version in an array. The kernel is not
prepared to handle different APIC versions anyway, so the real important
part is to detect a version mismatch and warn about it, which can be done
with a single variable as well.

[ tglx: Massaged changelog ]

Signed-off-by: Denys Vlasenko &lt;dvlasenk@redhat.com&gt;
CC: Andy Lutomirski &lt;luto@amacapital.net&gt;
CC: Borislav Petkov &lt;bp@alien8.de&gt;
CC: Brian Gerst &lt;brgerst@gmail.com&gt;
CC: Mike Travis &lt;travis@sgi.com&gt;
Link: http://lkml.kernel.org/r/20160913181232.30815-1-dvlasenk@redhat.com
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86/irq: Prevent force migration of irqs which are not in the vector domain</title>
<updated>2016-10-16T16:03:39Z</updated>
<author>
<name>Mika Westerberg</name>
</author>
<published>2016-10-03T10:17:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b36aa5799251720407192800943ed451885f9a24'/>
<id>urn:sha1:b36aa5799251720407192800943ed451885f9a24</id>
<content type='text'>
commit db91aa793ff984ac048e199ea1c54202543952fe upstream.

When a CPU is about to be offlined we call fixup_irqs() that resets IRQ
affinities related to the CPU in question. The same thing is also done when
the system is suspended to S-states like S3 (mem).

For each IRQ we try to complete any on-going move regardless whether the
IRQ is actually part of x86_vector_domain. For each IRQ descriptor we fetch
its chip_data, assume it is of type struct apic_chip_data and manipulate it
by clearing old_domain mask etc. For irq_chips that are not part of the
x86_vector_domain, like those created by various GPIO drivers, will find
their chip_data being changed unexpectly.

Below is an example where GPIO chip owned by pinctrl-sunrisepoint.c gets
corrupted after resume:

  # cat /sys/kernel/debug/gpio
  gpiochip0: GPIOs 360-511, parent: platform/INT344B:00, INT344B:00:
   gpio-511 (                    |sysfs               ) in  hi

  # rtcwake -s10 -mmem
  &lt;10 seconds passes&gt;

  # cat /sys/kernel/debug/gpio
  gpiochip0: GPIOs 360-511, parent: platform/INT344B:00, INT344B:00:
   gpio-511 (                    |sysfs               ) in  ?

Note '?' in the output. It means the struct gpio_chip -&gt;get function is
NULL whereas before suspend it was there.

Fix this by first checking that the IRQ belongs to x86_vector_domain before
we try to use the chip_data as struct apic_chip_data.

Reported-and-tested-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Link: http://lkml.kernel.org/r/20161003101708.34795-1-mika.westerberg@linux.intel.com
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86/apic: Fix num_processors value in case of failure</title>
<updated>2016-09-08T06:11:03Z</updated>
<author>
<name>Dou Liyang</name>
</author>
<published>2016-09-07T02:21:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c291b015158577be533dd5a959dfc09bab119eed'/>
<id>urn:sha1:c291b015158577be533dd5a959dfc09bab119eed</id>
<content type='text'>
If the topology package map check of the APIC ID and the CPU is a failure,
we don't generate the processor info for that APIC ID yet we increase
disabled_cpus by one - which is buggy.

Only increase num_processors once we are sure we don't fail.

Signed-off-by: Dou Liyang &lt;douly.fnst@cn.fujitsu.com&gt;
Acked-by: David Rientjes &lt;rientjes@google.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: http://lkml.kernel.org/r/1473214893-16481-1-git-send-email-douly.fnst@cn.fujitsu.com
[ Rewrote the changelog. ]
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/apic: Do not init irq remapping if ioapic is disabled</title>
<updated>2016-08-24T07:45:40Z</updated>
<author>
<name>Wanpeng Li</name>
</author>
<published>2016-08-23T12:07:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e63ad4bd5dd583871e6602f9d398b9322d358d9'/>
<id>urn:sha1:2e63ad4bd5dd583871e6602f9d398b9322d358d9</id>
<content type='text'>
native_smp_prepare_cpus
  -&gt; default_setup_apic_routing
    -&gt; enable_IR_x2apic
      -&gt; irq_remapping_prepare
        -&gt; intel_prepare_irq_remapping
          -&gt; intel_setup_irq_remapping		  

So IR table is setup even if "noapic" boot parameter is added. As a result we
crash later when the interrupt affinity is set due to a half initialized
remapping infrastructure.

Prevent remap initialization when IOAPIC is disabled.

Signed-off-by: Wanpeng Li &lt;wanpeng.li@hotmail.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Joerg Roedel &lt;joro@8bytes.org&gt;
Link: http://lkml.kernel.org/r/1471954039-3942-1-git-send-email-wanpeng.li@hotmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
</entry>
<entry>
<title>Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2016-08-12T21:31:10Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2016-08-12T21:31:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=01ea443982203fcdee1250ab630ab6516f0a16e6'/>
<id>urn:sha1:01ea443982203fcdee1250ab630ab6516f0a16e6</id>
<content type='text'>
Pull x86 fixes from Ingo Molnar:
 "This is bigger than usual - the reason is partly a pent-up stream of
  fixes after the merge window and partly accidental.  The fixes are:

   - five patches to fix a boot failure on Andy Lutomirsky's laptop
   - four SGI UV platform fixes
   - KASAN fix
   - warning fix
   - documentation update
   - swap entry definition fix
   - pkeys fix
   - irq stats fix"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/apic/x2apic, smp/hotplug: Don't use before alloc in x2apic_cluster_probe()
  x86/efi: Allocate a trampoline if needed in efi_free_boot_services()
  x86/boot: Rework reserve_real_mode() to allow multiple tries
  x86/boot: Defer setup_real_mode() to early_initcall time
  x86/boot: Synchronize trampoline_cr4_features and mmu_cr4_features directly
  x86/boot: Run reserve_bios_regions() after we initialize the memory map
  x86/irq: Do not substract irq_tlb_count from irq_call_count
  x86/mm: Fix swap entry comment and macro
  x86/mm/kaslr: Fix -Wformat-security warning
  x86/mm/pkeys: Fix compact mode by removing protection keys' XSAVE buffer manipulation
  x86/build: Reduce the W=1 warnings noise when compiling x86 syscall tables
  x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV systems
  x86/platform/UV: Fix problem with UV4 BIOS providing incorrect PXM values
  x86/platform/UV: Fix bug with iounmap() of the UV4 EFI System Table causing a crash
  x86/platform/UV: Fix problem with UV4 Socket IDs not being contiguous
  x86/entry: Clarify the RF saving/restoring situation with SYSCALL/SYSRET
  x86/mm: Disable preemption during CR3 read+write
  x86/mm/KASLR: Increase BRK pages for KASLR memory randomization
  x86/mm/KASLR: Fix physical memory calculation on KASLR memory randomization
  x86, kasan, ftrace: Put APIC interrupt handlers into .irqentry.text
</content>
</entry>
<entry>
<title>x86/apic/x2apic, smp/hotplug: Don't use before alloc in x2apic_cluster_probe()</title>
<updated>2016-08-11T14:35:50Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
</author>
<published>2016-08-11T14:08:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d52c0569bab4edc888832df44dc7ac28517134f6'/>
<id>urn:sha1:d52c0569bab4edc888832df44dc7ac28517134f6</id>
<content type='text'>
I made a mistake while converting the driver to the hotplug state
machine and as a result x2apic_cluster_probe() was accessing
cpus_in_cluster before allocating it.

This patch fixes it by setting the cpumask after the allocation the
memory succeeded.

While at it, I marked two functions static which are only used within
this file.

Reported-by: Laura Abbott &lt;labbott@redhat.com&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Fixes: 6b2c28471de5 ("x86/x2apic: Convert to CPU hotplug state machine")
Link: http://lkml.kernel.org/r/1470924515-9444-1-git-send-email-bigeasy@linutronix.de
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/platform/UV: Fix kernel panic running RHEL kdump kernel on UV systems</title>
<updated>2016-08-10T13:55:39Z</updated>
<author>
<name>Mike Travis</name>
</author>
<published>2016-08-01T18:40:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a52e8f822374bebc702bb2688ed8b5515bbb55b'/>
<id>urn:sha1:5a52e8f822374bebc702bb2688ed8b5515bbb55b</id>
<content type='text'>
The latest UV kernel support panics when RHEL7 kexec's the kdump kernel
to make a dumpfile.  This patch fixes the problem by turning off all UV
support if NUMA is off.

Tested-by: Frank Ramsay &lt;framsay@sgi.com&gt;
Tested-by: John Estabrook &lt;estabrook@sgi.com&gt;
Signed-off-by: Mike Travis &lt;travis@sgi.com&gt;
Reviewed-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Reviewed-by: Nathan Zimmer &lt;nzimmer@sgi.com&gt;
Cc: Alex Thorlton &lt;athorlton@sgi.com&gt;
Cc: Andrew Banman &lt;abanman@sgi.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russ Anderson &lt;rja@sgi.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: http://lkml.kernel.org/r/20160801184050.577755634@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/platform/UV: Fix problem with UV4 BIOS providing incorrect PXM values</title>
<updated>2016-08-10T13:55:38Z</updated>
<author>
<name>Mike Travis</name>
</author>
<published>2016-08-01T18:40:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22ac2bca92f2d92c6495248d65ff648182df428d'/>
<id>urn:sha1:22ac2bca92f2d92c6495248d65ff648182df428d</id>
<content type='text'>
There are some circumstances where the UV4 BIOS cannot provide the
correct Proximity Node values to associate with specific Sockets and
Physical Nodes.  The decision was made to remove these values from BIOS
and for the kernel to get these values from the standard ACPI tables.

Tested-by: Frank Ramsay &lt;framsay@sgi.com&gt;
Tested-by: John Estabrook &lt;estabrook@sgi.com&gt;
Signed-off-by: Mike Travis &lt;travis@sgi.com&gt;
Reviewed-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Reviewed-by: Nathan Zimmer &lt;nzimmer@sgi.com&gt;
Cc: Alex Thorlton &lt;athorlton@sgi.com&gt;
Cc: Andrew Banman &lt;abanman@sgi.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russ Anderson &lt;rja@sgi.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: http://lkml.kernel.org/r/20160801184050.414210079@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/platform/UV: Fix problem with UV4 Socket IDs not being contiguous</title>
<updated>2016-08-10T13:55:38Z</updated>
<author>
<name>Mike Travis</name>
</author>
<published>2016-08-01T18:40:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=054f621fd5b1c7245710f5d3935c94ce6ae4b3b7'/>
<id>urn:sha1:054f621fd5b1c7245710f5d3935c94ce6ae4b3b7</id>
<content type='text'>
The UV4 Socket IDs are not guaranteed to equate to Node values which
can cause the GAM (Global Addressable Memory) table lookups to fail.
Fix this by using an independent index into the GAM table instead of
the Socket ID to reference the base address.

Tested-by: Frank Ramsay &lt;framsay@sgi.com&gt;
Tested-by: John Estabrook &lt;estabrook@sgi.com&gt;
Signed-off-by: Mike Travis &lt;travis@sgi.com&gt;
Reviewed-by: Dimitri Sivanich &lt;sivanich@sgi.com&gt;
Reviewed-by: Nathan Zimmer &lt;nzimmer@sgi.com&gt;
Cc: Alex Thorlton &lt;athorlton@sgi.com&gt;
Cc: Andrew Banman &lt;abanman@sgi.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russ Anderson &lt;rja@sgi.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: http://lkml.kernel.org/r/20160801184050.048755337@asylum.americas.sgi.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into timers/urgent, to pick up fixes</title>
<updated>2016-08-10T12:36:23Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2016-08-10T12:36:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fdbdfefbabefcdf3f57560163b43fdc4cf95eb2f'/>
<id>urn:sha1:fdbdfefbabefcdf3f57560163b43fdc4cf95eb2f</id>
<content type='text'>
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
</feed>
