Age | Commit message (Collapse) | Author |
|
As most of the proc info content is common across all v7
processors, this patch converts existing A9 and generic v7
descriptions into a macro (allowing extra flags in future).
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
|
|
The presence of VFPv4 cannot be detected simply by looking at the FPSID
subarchitecture field, as a value >= 2 signifies the architecture as
VFPv3 or later.
This patch reads from MVFR1 to check whether or not the fused multiply
accumulate instructions are supported. Since these are introduced with
VFPv4, this tells us what we need to know.
Signed-off-by: Will Deacon <will.deacon@arm.com>
|
|
Modern ARMv7-A cores can optionally implement these new hardware
features:
- VFPv4:
The latest version of the ARMv7 vector floating-point extensions,
including hardware support for fused multiple accumulate. D16 or D32
variants may be implemented.
- Integer divide:
The SDIV and UDIV instructions provide signed and unsigned integer
division in hardware. When implemented, these instructions may be
available in either both Thumb and ARM, or Thumb only.
This patch adds new HWCAP defines to describe these new features. The
integer divide capabilities are split into two bits for ARM and Thumb
respectively. Whilst HWCAP_IDIVA should never be set if HWCAP_IDIVT is
clear, separating the bits makes it easier to interpret from userspace.
Signed-off-by: Will Deacon <will.deacon@arm.com>
|
|
The HWCAP numbers are defined as constants, each one being a power of 2.
This has become slightly unwieldy now that we have reached 32k.
This patch changes the HWCAP defines to use (1 << n) instead of coding
the constant directly. The values remain unchanged.
Signed-off-by: Will Deacon <will.deacon@arm.com>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Without this patch, xscale_80200_A0_A1 is missing the
icache_flush_all entry, which would result in the wrong functions
being called at run-time.
This patch re-uses xscale_icache_flush_all for
xscale_80200_A0_A1_cache_fns.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
This patch also defines a suitable flush_icache_all implementation
which would otherwise be missing, resulting in a link failure.
Thanks to Nicolas Pitre for suggesting the code for this.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Signed-off-by: Dave Martin <dave.martin@linaro.org>
|
|
Declaring strings in assembler source involves a certain amount of
tedious boilerplate code in order to annotate the resulting symbol
correctly.
Encapsulating this boilerplate in a macro should help to avoid some
duplication and the occasional mistake.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
|
This patch adds some generic macros to reduce boilerplate when
declaring certain common structures in arch/arm/mm/*.S
Thanks to Russell King for outlining what the
define_processor_functions macro could look like.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
|
|
To make SLUB work on UML we need this_cpu_cmpxchg from
asm-generic/percpu.h.
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
commit 21a3c96 uses node_start/end_pfn(nid) for detection start/end
of nodes. But, it's not defined in linux/mmzone.h but defined in
/arch/???/include/mmzone.h which is included only under
CONFIG_NEED_MULTIPLE_NODES=y.
Then, we see
mm/page_cgroup.c: In function 'page_cgroup_init':
mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'
So, fixiing page_cgroup.c is an idea...
But node_start_pfn()/node_end_pfn() is a very generic macro and
should be implemented in the same manner for all archs.
(m32r has different implementation...)
This patch removes definitions of node_start/end_pfn() in each archs
and defines a unified one in linux/mmzone.h. It's not under
CONFIG_NEED_MULTIPLE_NODES, now.
A result of macro expansion is here (mm/page_cgroup.c)
for !NUMA
start_pfn = ((&contig_page_data)->node_start_pfn);
end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
for NUMA (x86-64)
start_pfn = ((node_data[nid])->node_start_pfn);
end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
Changelog:
- fixed to avoid using "nid" twice in node_end_pfn() macro.
Reported-and-acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Reported-and-tested-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
* 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
ARM: pm: ensure ARMv7 CPUs save and restore the TLS register
ARM: pm: proc-v7: fix missing struct processor pointers for suspend code
ARM: 6969/1: plat-iop: fix build error
ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries
ARM: SMP: wait for CPU to be marked active
ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols
ARM: 6962/1: mach-h720x: fix build error
ARM: 6959/1: SMP build fix for entry-macro-multi.S
|
|
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
[S390] allow setting of upper 32 bit in smp_ctl_set_bit
[S390] hwsampler: Set a sane default sampling rate
[S390] s390: enforce HW limits for the initial sampling rate
[S390] kvm-s390: fix kconfig dependencies
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
x86/PCI/ACPI: fix type mismatch
PCI: fix new kernel-doc warning
PCI: Fix warning in drivers/pci/probe.c on sparc64
|
|
Ensure that the TLS register is saved and restored over a suspend
cycle, so that userspace programs don't see a corrupted TLS value.
Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|