<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/kernel/smp.c, branch linux-3.15.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.15.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.15.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-03-04T10:30:07Z</updated>
<entry>
<title>arm64: topology: Implement basic CPU topology support</title>
<updated>2014-03-04T10:30:07Z</updated>
<author>
<name>Mark Brown</name>
</author>
<published>2014-03-04T07:51:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6e763b93a6cd3411fd8df925344022719bcba62'/>
<id>urn:sha1:f6e763b93a6cd3411fd8df925344022719bcba62</id>
<content type='text'>
Add basic CPU topology support to arm64, based on the existing pre-v8
code and some work done by Mark Hambleton.  This patch does not
implement any topology discovery support since that should be based on
information from firmware, it merely implements the scaffolding for
integration of topology support in the architecture.

No locking of the topology data is done since it is only modified during
CPU bringup with external serialisation from the SMP code.

The goal is to separate the architecture hookup for providing topology
information from the DT parsing in order to ease review and avoid
blocking the architecture code (which will be built on by other work)
with the DT code review by providing something simple and basic.

Following patches will implement support for interpreting topology
information from MPIDR and for parsing the DT topology bindings for ARM,
similar patches will be needed for ACPI.

Signed-off-by: Mark Brown &lt;broonie@linaro.org&gt;
Acked-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
[catalin.marinas@arm.com: removed CONFIG_CPU_TOPOLOGY, always on if SMP]
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: enable processor debug state for secondary cpus</title>
<updated>2014-02-26T11:16:27Z</updated>
<author>
<name>Vijaya Kumar K</name>
</author>
<published>2014-02-21T05:13:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8ed442a009ecfe155b57d58f231db3d6084633d'/>
<id>urn:sha1:d8ed442a009ecfe155b57d58f231db3d6084633d</id>
<content type='text'>
processor debug state PSTATE.D is unmasked in smp call
clear_os_lock for secondary cpus. So debug state is still
masked in normal kernel context.  With this patch, unmask
debug state on secondary boot for the cpus in normal kernel
context. Now kgdb tests passed with multicore.

Signed-off-by: Vijaya Kumar K &lt;Vijaya.Kumar@caviumnetworks.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: FIQs are unused</title>
<updated>2014-01-30T13:51:43Z</updated>
<author>
<name>Nicolas Pitre</name>
</author>
<published>2014-01-29T18:00:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f864b61ee49bbf3faf9a10b9770c719536328d01'/>
<id>urn:sha1:f864b61ee49bbf3faf9a10b9770c719536328d01</id>
<content type='text'>
So any FIQ handling is superfluous at the moment.  The functions to
disable/enable FIQs is kept around if ever someone needs them in the
future, but existing calling sites including arch_cpu_idle_prepare()
may go for now.

Signed-off-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'arm64-suspend' of git://linux-arm.org/linux-2.6-lp into upstream</title>
<updated>2013-12-19T17:57:51Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2013-12-19T17:57:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0a5be743e8c3c3230600fbc0cf923fb5dbefd579'/>
<id>urn:sha1:0a5be743e8c3c3230600fbc0cf923fb5dbefd579</id>
<content type='text'>
* tag 'arm64-suspend' of git://linux-arm.org/linux-2.6-lp:
  arm64: add CPU power management menu/entries
  arm64: kernel: add PM build infrastructure
  arm64: kernel: add CPU idle call
  arm64: enable generic clockevent broadcast
  arm64: kernel: implement HW breakpoints CPU PM notifier
  arm64: kernel: refactor code to install/uninstall breakpoints
  arm: kvm: implement CPU PM notifier
  arm64: kernel: implement fpsimd CPU PM notifier
  arm64: kernel: cpu_{suspend/resume} implementation
  arm64: kernel: suspend/resume registers save/restore
  arm64: kernel: build MPIDR_EL1 hash function data structure
  arm64: kernel: add MPIDR_EL1 accessors macros

Conflicts:
	arch/arm64/Kconfig
</content>
</entry>
<entry>
<title>arm64: percpu: implement optimised pcpu access using tpidr_el1</title>
<updated>2013-12-19T17:43:06Z</updated>
<author>
<name>Will Deacon</name>
</author>
<published>2013-11-05T18:10:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7158627686f02319c50c8d9d78f75d4c8d126ff2'/>
<id>urn:sha1:7158627686f02319c50c8d9d78f75d4c8d126ff2</id>
<content type='text'>
This patch implements optimised percpu variable accesses using the
el1 r/w thread register (tpidr_el1) along the same lines as arch/arm/.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: enable generic clockevent broadcast</title>
<updated>2013-12-16T17:17:35Z</updated>
<author>
<name>Lorenzo Pieralisi</name>
</author>
<published>2013-09-04T09:55:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f85008e74768a88e1ddb96cc1fe45bb2378166c'/>
<id>urn:sha1:1f85008e74768a88e1ddb96cc1fe45bb2378166c</id>
<content type='text'>
On platforms with power management capabilities, timers that are shut
down when a CPU enters deep C-states must be emulated using an always-on
timer and a timer IPI to relay the timer IRQ to target CPUs on an SMP
system.

This patch enables the generic clockevents broadcast infrastructure for
arm64, by providing the required Kconfig entries and adding the timer
IPI infrastructure.

Acked-by: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;
Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: Unmask asynchronous aborts when in kernel mode</title>
<updated>2013-11-25T16:44:05Z</updated>
<author>
<name>Catalin Marinas</name>
</author>
<published>2013-11-21T14:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3bf6aa7e79117419f7eddccf0b7af4382d823c3'/>
<id>urn:sha1:b3bf6aa7e79117419f7eddccf0b7af4382d823c3</id>
<content type='text'>
The asynchronous aborts are generally fatal for the kernel but they can
be masked via the pstate A bit. If a system error happens while in
kernel mode, it won't be visible until returning to user space. This
patch enables this kind of abort early to help identifying the cause.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>ARM64: /proc/interrupts: display IPIs of online CPUs only</title>
<updated>2013-11-07T17:26:54Z</updated>
<author>
<name>Sudeep KarkadaNagesha</name>
</author>
<published>2013-11-07T15:25:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67317c2689567c24d18e0dd43ab6d409fd42dc6e'/>
<id>urn:sha1:67317c2689567c24d18e0dd43ab6d409fd42dc6e</id>
<content type='text'>
The non-IPI interrupts are displayed only for the online cpus from
show_interrupts in kernel/irq/proc.c before calling arch_show_interrupts().
As a result, the column headers and the IPI count don't match if any
CPU is offline.

This patch fixes show_ipi_list to display IPIs for online CPUs only.

Signed-off-by: Sudeep KarkadaNagesha &lt;sudeep.karkadanagesha@arm.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: move enabling of GIC before CPUs are set online</title>
<updated>2013-11-04T18:18:05Z</updated>
<author>
<name>Marc Zyngier</name>
</author>
<published>2013-11-04T16:55:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ade67b5984d0a0434462fda733ab5138c63aae1'/>
<id>urn:sha1:7ade67b5984d0a0434462fda733ab5138c63aae1</id>
<content type='text'>
Commit 53ae3acd (arm64: Only enable local interrupts after the CPU
is marked online) moved the enabling of the GIC after the CPUs are
marked online.

This has some interesting effect:
[...]
[&lt;ffffffc0002eefd8&gt;] gic_raise_softirq+0xf8/0x160
[&lt;ffffffc000088f58&gt;] smp_send_reschedule+0x38/0x40
[&lt;ffffffc0000c8728&gt;] resched_task+0x84/0xc0
[&lt;ffffffc0000c8cdc&gt;] check_preempt_curr+0x58/0x98
[&lt;ffffffc0000c8d38&gt;] ttwu_do_wakeup+0x1c/0xf4
[&lt;ffffffc0000c8f90&gt;] ttwu_do_activate.constprop.84+0x64/0x70
[&lt;ffffffc0000cad30&gt;] try_to_wake_up+0x1d4/0x2b4
[&lt;ffffffc0000cae6c&gt;] default_wake_function+0x10/0x18
[&lt;ffffffc0000c5ca4&gt;] __wake_up_common+0x60/0xa0
[&lt;ffffffc0000c7784&gt;] complete+0x48/0x64
[&lt;ffffffc000088bec&gt;] secondary_start_kernel+0xe8/0x110
[...]

Here, we end-up calling gic_raise_softirq without having initialized
the interrupt controller for this CPU. While this goes unnoticed
with GICv2 (the distributor is always accessible), it explodes with
GICv3.

The fix is to move the call to notify_cpu_starting before we set
the secondary CPU online.

Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: add CPU_HOTPLUG infrastructure</title>
<updated>2013-10-25T10:33:21Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2013-10-24T19:30:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9327e2c6bb8cb0131b38a07847cd58c78dc095e9'/>
<id>urn:sha1:9327e2c6bb8cb0131b38a07847cd58c78dc095e9</id>
<content type='text'>
This patch adds the basic infrastructure necessary to support
CPU_HOTPLUG on arm64, based on the arm implementation. Actual hotplug
support will depend on an implementation's cpu_operations (e.g. PSCI).

Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
</feed>
