Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.18-rc3 47 lines 1.1 kB view raw
1/* 2 * linux/arch/arm/vfp/entry.S 3 * 4 * Copyright (C) 2004 ARM Limited. 5 * Written by Deep Blue Solutions Limited. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 * 11 * Basic entry code, called from the kernel's undefined instruction trap. 12 * r0 = faulted instruction 13 * r5 = faulted PC+4 14 * r9 = successful return 15 * r10 = thread_info structure 16 * lr = failure return 17 */ 18#include <linux/linkage.h> 19#include <linux/init.h> 20#include <asm/asm-offsets.h> 21#include <asm/assembler.h> 22#include <asm/vfpmacros.h> 23 24 .globl do_vfp 25do_vfp: 26 enable_irq 27 ldr r4, .LCvfp 28 add r10, r10, #TI_VFPSTATE @ r10 = workspace 29 ldr pc, [r4] @ call VFP entry point 30 31.LCvfp: 32 .word vfp_vector 33 34@ This code is called if the VFP does not exist. It needs to flag the 35@ failure to the VFP initialisation code. 36 37 __INIT 38 .globl vfp_testing_entry 39vfp_testing_entry: 40 ldr r0, VFP_arch_address 41 str r5, [r0] @ known non-zero value 42 mov pc, r9 @ we have handled the fault 43 44VFP_arch_address: 45 .word VFP_arch 46 47 __FINIT