linux/arch/powerpc/kernel
Kevin Hao 3a3b5aa63f powerpc: Introduce function emulate_math()
There are two invocations of do_mathemu() in traps.c. And the codes
in these two places are almost the same. Introduce a locale function
to eliminate the duplication. With this change we can also make sure
that in program_check_exception() the PPC_WARN_EMULATED is invoked for
the correctly emulated math instructions.

Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-08-14 14:59:12 +10:00
..
vdso32 powerpc: Add VDSO version of time 2013-04-23 16:05:05 +10:00
vdso64 powerpc: Add VDSO version of time 2013-04-23 16:05:05 +10:00
.gitignore
align.c powerpc: Handle unaligned ldbrx/stdbrx 2013-08-14 11:50:20 +10:00
asm-offsets.c powerpc/perf: Drop MMCRA from thread_struct 2013-07-01 11:50:07 +10:00
audit.c
btext.c powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
cacheinfo.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
cacheinfo.h
clock.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
compat_audit.c
cpu_setup_6xx.S powerpc: Fix some 6xx/7xxx CPU setup functions 2011-02-07 12:57:11 +11:00
cpu_setup_44x.S
cpu_setup_a2.S powerpc: Enforce usage of RA 0-R31 where possible 2012-07-10 19:18:35 +10:00
cpu_setup_fsl_booke.S powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx 2013-07-30 15:50:07 -05:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc: Fix TLB cleanup at boot on POWER8 2013-05-24 18:13:44 +10:00
cpu_setup_ppc970.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cputable.c Merge remote-tracking branch 'scott/next' into next 2013-08-09 16:01:40 +10:00
crash_dump.c powerpc: Remove savemaxmem parameter setup 2013-07-03 16:08:03 -07:00
crash.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
dbell.c powerpc: Add accounting for Doorbell interrupts 2013-04-18 15:59:55 +10:00
dma-iommu.c powerpc/dma-iommu: Fix IOMMU window check 2012-08-24 20:26:07 +10:00
dma-swiotlb.c powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
dma.c powerpc/kernel: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:30 +10:00
eeh_cache.c powerpc/eeh: Remove reference to PCI device 2013-07-24 14:18:46 +10:00
eeh_dev.c powerpc/eeh: Move common part to kernel directory 2013-06-20 17:05:35 +10:00
eeh_driver.c powerpc/eeh: Fix unbalanced enable for IRQ 2013-07-24 14:18:49 +10:00
eeh_event.c powerpc/eeh: Use interruptible sleep in keehd 2013-06-25 17:24:41 +10:00
eeh_pe.c powerpc/eeh: Don't use pci_dev during BAR restore 2013-07-24 14:18:49 +10:00
eeh_sysfs.c powerpc/eeh: Introdce flag to protect sysfs 2013-07-24 14:18:49 +10:00
eeh.c powerpc/eeh: Introdce flag to protect sysfs 2013-07-24 14:18:49 +10:00
entry_32.S powerpc/32bit:Store temporary result in r0 instead of r8 2013-06-01 08:29:27 +10:00
entry_64.S powerpc/ppc64: Rename SOFT_DISABLE_INTS with RECONCILE_IRQ_STATE 2013-08-14 14:57:47 +10:00
epapr_hcalls.S powerpc: Add paravirt idle loop for 64-bit Book-E 2013-03-13 14:19:36 -05:00
epapr_paravirt.c powerpc/85xx: Move ePAPR paravirt initialization earlier 2013-08-07 18:38:06 -05:00
exceptions-64e.S powerpc/ppc64: Rename SOFT_DISABLE_INTS with RECONCILE_IRQ_STATE 2013-08-14 14:57:47 +10:00
exceptions-64s.S Linux 3.10 2013-07-01 17:57:25 +10:00
fadump.c mm/ppc: use common help functions to free reserved pages 2013-04-29 15:54:30 -07:00
firmware.c powerpc: fix implicit use of cache.h in kernel/firmware.c 2011-10-31 19:30:41 -04:00
fpu.S powerpc: Add FP/VSX and VMX register load functions for transactional memory 2013-02-15 16:58:52 +11:00
fsl_booke_entry_mapping.S
ftrace.c powerpc/ftrace: Trace function graph entry before updating index 2012-07-27 11:42:34 +10:00
head_8xx.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_32.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_40x.S powerpc: Enable the Watchdog vector for 405 2013-01-10 14:43:46 +11:00
head_44x.S powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
head_64.S powerpc: Align p_toc 2013-08-14 11:50:19 +10:00
head_booke.h powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
head_fsl_booke.S powerpc: Fix interrupt range check on debug exception 2013-05-02 10:31:01 +10:00
hw_breakpoint.c powerpc/hw_brk: Fix off by one error when validating DAWR region end 2013-07-02 08:20:49 +10:00
ibmebus.c ibmebus: convert of_platform_driver to platform_driver 2013-06-12 12:37:26 +01:00
idle_6xx.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_book3e.S powerpc: Add paravirt idle loop for 64-bit Book-E 2013-03-13 14:19:36 -05:00
idle_e500.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power4.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power7.S powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
idle.c powerpc/idle: Convert use of typedef ctl_table to struct ctl_table 2013-07-01 11:10:35 +10:00
io-workarounds.c powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO 2013-08-14 14:57:50 +10:00
io.c powerpc/powernv: Add PIO accessors for Power8 LPC bus 2013-08-14 14:58:08 +10:00
iomap.c powerpc: switch to GENERIC_PCI_IOMAP 2011-11-28 21:13:18 +02:00
iommu.c powerpc/vfio: Enable on PowerNV platform 2013-06-20 16:55:14 +10:00
irq.c powerpc: Rename PMU interrupts from CNT to PMI 2013-08-01 13:11:46 +10:00
isa-bridge.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
jump_label.c powerpc: Fix build breakage in jump_label.c 2011-11-16 14:25:19 +11:00
kgdb.c powerpc/kgdb: Removed kmalloc returned value cast 2013-04-18 13:03:56 +10:00
kprobes.c powerpc: Move the single step enable code to a generic path 2013-06-20 16:55:09 +10:00
kvm_emul.S KVM: PPC: Not optimizing MSR_CE and MSR_ME with paravirt. 2012-05-30 11:43:11 +02:00
kvm.c mm: enhance free_reserved_area() to support poisoning memory with zero 2013-07-03 16:07:32 -07:00
l2cr_6xx.S Fix common misspellings 2011-03-31 11:26:23 -03:00
legacy_serial.c powerpc: Check "status" property before adding legacy ISA serial ports 2013-08-14 14:58:21 +10:00
lparcfg.c powerpc: Stop using non-architected shared_proc field in lppaca 2013-08-14 11:50:26 +10:00
machine_kexec_32.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec_64.c powerpc/kexec: Fix kexec when using VMX optimised memcpy 2013-05-14 14:36:23 +10:00
machine_kexec.c powerpc+of: Rename the drivers/of prom_* functions to of_* 2012-11-15 12:56:52 +11:00
Makefile powerpc/8xx: Remove last traces of 8XX_MINIMAL_FPEMU 2013-08-14 14:58:53 +10:00
misc_32.S powerpc: Remove the symbol __flush_icache_range 2013-08-14 14:56:44 +10:00
misc_64.S powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
misc.S powerpc: switch to generic sys_execve()/kernel_execve() 2012-09-30 23:35:51 -04:00
module_32.c powerpc: Fix kernel panic during kernel module load 2012-06-08 19:59:08 +10:00
module_64.c powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
module.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
msi.c
nvram_64.c powerpc/nvram64: Need return the related error code on failure occurs 2013-07-01 11:46:56 +10:00
of_platform.c powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
paca.c powerpc: Move boot_paca into early_setup 2013-02-15 16:54:48 +11:00
pci_32.c powerpc/pci: Support per-aperture memory offset 2013-05-06 13:40:40 +10:00
pci_64.c powerpc/pci: Don't use bitfield for force_32bit_msi 2013-08-14 11:50:25 +10:00
pci_dn.c powerpc: Make radeon 32-bit MSI quirk work on powernv 2013-05-24 18:13:45 +10:00
pci_of_scan.c powerpc/pci: Partial tree hotplug support 2013-07-24 14:18:48 +10:00
pci-common.c powerpc/pci: Remove duplicate check in pcibios_fixup_bus() 2013-08-14 14:57:36 +10:00
pci-hotplug.c powerpc/pci: Partial tree hotplug support 2013-07-24 14:18:48 +10:00
pmc.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
ppc32.h powerpc: switch to generic old sigaction() 2013-02-03 18:16:10 -05:00
ppc_ksyms.c powerpc: Remove the symbol __flush_icache_range 2013-08-14 14:56:44 +10:00
ppc_save_regs.S Fix common misspellings 2011-03-31 11:26:23 -03:00
proc_powerpc.c proc_powerpc: switch to fixed_size_llseek() 2013-06-29 12:57:50 +04:00
process.c Linux 3.10 2013-07-01 17:57:25 +10:00
prom_init_check.sh powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
prom_init.c powerpc/pmac: Early debug output on screen on 64-bit macs 2013-08-14 14:57:40 +10:00
prom_parse.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
prom.c powerpc/powernv: Add helper to get ibm,chip-id of a node 2013-08-14 14:58:02 +10:00
ptrace32.c powerpc: fixing ptrace_get_reg to return an error 2013-04-18 13:03:57 +10:00
ptrace.c ptrace/powerpc: revert "hw_breakpoints: Fix racy access to ptrace breakpoints" 2013-07-09 10:33:25 -07:00
reloc_32.S powerpc: Don't flush/invalidate the d/icache for an unknown relocation type 2013-07-01 11:10:34 +10:00
reloc_64.S
rtas_flash.c powerpc/rtas_flash: Fix validate_flash buffer overflow issue 2013-05-14 14:36:26 +10:00
rtas_pci.c powerpc/kernel: Cleanup on rtas_pci.c 2013-04-18 13:03:48 +10:00
rtas-proc.c
rtas-rtc.c powerpc/rtas-rtc: remove sideeffects of printk_ratelimit 2011-06-29 15:30:43 +10:00
rtas.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
rtasd.c powerpc/pseries: Add /proc interface to control topology updates 2013-04-26 16:08:26 +10:00
setup_32.c powerpc/85xx: Move ePAPR paravirt initialization earlier 2013-08-07 18:38:06 -05:00
setup_64.c powerpc: Better split CONFIG_PPC_INDIRECT_PIO and CONFIG_PPC_INDIRECT_MMIO 2013-08-14 14:57:50 +10:00
setup-common.c powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
setup.h
signal_32.c powerpc: Fix VRSAVE handling 2013-08-14 14:57:18 +10:00
signal_64.c powerpc: Fix VRSAVE handling 2013-08-14 14:57:18 +10:00
signal.c powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
signal.h powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions 2013-06-01 08:29:23 +10:00
smp-tbsync.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
smp.c powerpc: Add smp_generic_cpu_bootable 2013-08-14 14:56:50 +10:00
stacktrace.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
suspend.c
swsusp_32.S Fix common misspellings 2011-03-31 11:26:23 -03:00
swsusp_64.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
swsusp_asm64.S
swsusp_booke.S powerpc/mpc85xx: invalidate TLB after hibernation resume 2013-07-30 15:50:08 -05:00
swsusp.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
sys_ppc32.c unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
syscalls.c powerpc: Fix personality handling in ppc64_personality() 2012-08-24 20:26:07 +10:00
sysfs.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
tm.S powerpc: Fix VRSAVE handling 2013-08-14 14:57:18 +10:00
traps.c powerpc: Introduce function emulate_math() 2013-08-14 14:59:12 +10:00
udbg_16550.c powerpc: Cleanup udbg_16550 and add support for LPC PIO-only UARTs 2013-08-14 14:58:15 +10:00
udbg.c powerpc: Add a configuration option for early BootX/OpenFirmware debug 2013-06-20 16:55:12 +10:00
uprobes.c uretprobes/powerpc: Hijack return address 2013-04-13 15:31:56 +02:00
vdso.c powerpc: Delete __cpuinit usage from all users 2013-07-01 11:10:36 +10:00
vecemu.c
vector.S powerpc: Add FP/VSX and VMX register load functions for transactional memory 2013-02-15 16:58:52 +11:00
vio.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
vmlinux.lds.S powerpc/modules: Module CRC relocation fix causes perf issues 2013-07-24 14:18:43 +10:00