Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild updates from Michal Marek: - EXPORT_SYMBOL for asm source by Al Viro. This does bring a regression, because genksyms no longer generates checksums for these symbols (CONFIG_MODVERSIONS). Nick Piggin is working on a patch to fix this. Plus, we are talking about functions like strcpy(), which rarely change prototypes. - Fixes for PPC fallout of the above by Stephen Rothwell and Nick Piggin - fixdep speedup by Alexey Dobriyan. - preparatory work by Nick Piggin to allow architectures to build with -ffunction-sections, -fdata-sections and --gc-sections - CONFIG_THIN_ARCHIVES support by Stephen Rothwell - fix for filenames with colons in the initramfs source by me. * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: (22 commits) initramfs: Escape colons in depfile ppc: there is no clear_pages to export powerpc/64: whitelist unresolved modversions CRCs kbuild: -ffunction-sections fix for archs with conflicting sections kbuild: add arch specific post-link Makefile kbuild: allow archs to select link dead code/data elimination kbuild: allow architectures to use thin archives instead of ld -r kbuild: Regenerate genksyms lexer kbuild: genksyms fix for typeof handling fixdep: faster CONFIG_ search ia64: move exports to definitions sparc32: debride memcpy.S a bit [sparc] unify 32bit and 64bit string.h sparc: move exports to definitions ppc: move exports to definitions arm: move exports to definitions s390: move exports to definitions m68k: move exports to definitions alpha: move exports to actual definitions x86: move exports to actual definitions ...
This commit is contained in:
@@ -90,10 +90,6 @@ obj-$(CONFIG_RELOCATABLE) += reloc_$(BITS).o
|
||||
obj-$(CONFIG_PPC32) += entry_32.o setup_32.o
|
||||
obj-$(CONFIG_PPC64) += dma-iommu.o iommu.o
|
||||
obj-$(CONFIG_KGDB) += kgdb.o
|
||||
obj-$(CONFIG_MODULES) += ppc_ksyms.o
|
||||
ifeq ($(CONFIG_PPC32),y)
|
||||
obj-$(CONFIG_MODULES) += ppc_ksyms_32.o
|
||||
endif
|
||||
obj-$(CONFIG_BOOTX_TEXT) += btext.o
|
||||
obj-$(CONFIG_SMP) += smp.o
|
||||
obj-$(CONFIG_KPROBES) += kprobes.o
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include <asm/unistd.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/*
|
||||
* MSR_KERNEL is > 0x10000 on 4xx/Book-E since it include MSR_CE.
|
||||
@@ -1358,6 +1359,7 @@ _GLOBAL(_mcount)
|
||||
MCOUNT_RESTORE_FRAME
|
||||
bctr
|
||||
#endif
|
||||
EXPORT_SYMBOL(_mcount)
|
||||
|
||||
_GLOBAL(ftrace_stub)
|
||||
blr
|
||||
|
@@ -38,6 +38,7 @@
|
||||
#include <asm/context_tracking.h>
|
||||
#include <asm/tm.h>
|
||||
#include <asm/ppc-opcode.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/*
|
||||
* System calls.
|
||||
@@ -1177,6 +1178,7 @@ _GLOBAL(enter_prom)
|
||||
#ifdef CONFIG_DYNAMIC_FTRACE
|
||||
_GLOBAL(mcount)
|
||||
_GLOBAL(_mcount)
|
||||
EXPORT_SYMBOL(_mcount)
|
||||
mflr r12
|
||||
mtctr r12
|
||||
mtlr r0
|
||||
@@ -1413,6 +1415,7 @@ livepatch_handler:
|
||||
|
||||
#else
|
||||
_GLOBAL_TOC(_mcount)
|
||||
EXPORT_SYMBOL(_mcount)
|
||||
/* Taken from output of objdump from lib64/glibc */
|
||||
mflr r3
|
||||
ld r11, 0(r1)
|
||||
|
@@ -16,6 +16,7 @@
|
||||
#include <asm/ppc_asm.h>
|
||||
#include <asm/asm-compat.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
#ifndef CONFIG_PPC64
|
||||
/* epapr_ev_idle() was derived from e500_idle() */
|
||||
@@ -53,3 +54,4 @@ epapr_hypercall_start:
|
||||
nop
|
||||
nop
|
||||
blr
|
||||
EXPORT_SYMBOL(epapr_hypercall_start)
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include <asm/ppc_asm.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
#ifdef CONFIG_VSX
|
||||
#define __REST_32FPVSRS(n,c,base) \
|
||||
@@ -59,6 +60,7 @@ _GLOBAL(load_fp_state)
|
||||
MTFSF_L(fr0)
|
||||
REST_32FPVSRS(0, R4, R3)
|
||||
blr
|
||||
EXPORT_SYMBOL(load_fp_state)
|
||||
|
||||
/*
|
||||
* Store FP state into memory, including FPSCR
|
||||
@@ -69,6 +71,7 @@ _GLOBAL(store_fp_state)
|
||||
mffs fr0
|
||||
stfd fr0,FPSTATE_FPSCR(r3)
|
||||
blr
|
||||
EXPORT_SYMBOL(store_fp_state)
|
||||
|
||||
/*
|
||||
* This task wants to use the FPU now.
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/bug.h>
|
||||
#include <asm/kvm_book3s_asm.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/* 601 only have IBAT; cr0.eq is set on 601 when using this macro */
|
||||
#define LOAD_BAT(n, reg, RA, RB) \
|
||||
@@ -738,6 +739,7 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_NEED_DTLB_SW_LRU)
|
||||
|
||||
.globl mol_trampoline
|
||||
.set mol_trampoline, i0x2f00
|
||||
EXPORT_SYMBOL(mol_trampoline)
|
||||
|
||||
. = 0x3000
|
||||
|
||||
@@ -1045,6 +1047,7 @@ _ENTRY(switch_mmu_context)
|
||||
4: trap
|
||||
EMIT_BUG_ENTRY 4b,__FILE__,__LINE__,0
|
||||
blr
|
||||
EXPORT_SYMBOL(switch_mmu_context)
|
||||
|
||||
/*
|
||||
* An undocumented "feature" of 604e requires that the v bit
|
||||
@@ -1272,6 +1275,7 @@ sdata:
|
||||
.globl empty_zero_page
|
||||
empty_zero_page:
|
||||
.space 4096
|
||||
EXPORT_SYMBOL(empty_zero_page)
|
||||
|
||||
.globl swapper_pg_dir
|
||||
swapper_pg_dir:
|
||||
@@ -1285,6 +1289,7 @@ intercept_table:
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0
|
||||
EXPORT_SYMBOL(intercept_table)
|
||||
|
||||
/* Room for two PTE pointers, usually the kernel and current user pointers
|
||||
* to their respective root page table.
|
||||
|
@@ -41,6 +41,7 @@
|
||||
#include <asm/ppc_asm.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/* As with the other PowerPC ports, it is expected that when code
|
||||
* execution begins here, the following registers contain valid, yet
|
||||
@@ -971,6 +972,7 @@ sdata:
|
||||
.globl empty_zero_page
|
||||
empty_zero_page:
|
||||
.space 4096
|
||||
EXPORT_SYMBOL(empty_zero_page)
|
||||
.globl swapper_pg_dir
|
||||
swapper_pg_dir:
|
||||
.space PGD_TABLE_SIZE
|
||||
|
@@ -39,6 +39,7 @@
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/synch.h>
|
||||
#include <asm/export.h>
|
||||
#include "head_booke.h"
|
||||
|
||||
|
||||
@@ -1254,6 +1255,7 @@ sdata:
|
||||
.globl empty_zero_page
|
||||
empty_zero_page:
|
||||
.space PAGE_SIZE
|
||||
EXPORT_SYMBOL(empty_zero_page)
|
||||
|
||||
/*
|
||||
* To support >32-bit physical addresses, we use an 8KB pgdir.
|
||||
|
@@ -43,6 +43,7 @@
|
||||
#include <asm/hw_irq.h>
|
||||
#include <asm/cputhreads.h>
|
||||
#include <asm/ppc-opcode.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/* The physical memory is laid out such that the secondary processor
|
||||
* spin code sits at 0x0000...0x00ff. On server, the vectors follow
|
||||
@@ -1002,3 +1003,4 @@ swapper_pg_dir:
|
||||
.globl empty_zero_page
|
||||
empty_zero_page:
|
||||
.space PAGE_SIZE
|
||||
EXPORT_SYMBOL(empty_zero_page)
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/fixmap.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/* Macro to make the code more readable. */
|
||||
#ifdef CONFIG_8xx_CPU6
|
||||
@@ -884,6 +885,7 @@ sdata:
|
||||
.align PAGE_SHIFT
|
||||
empty_zero_page:
|
||||
.space PAGE_SIZE
|
||||
EXPORT_SYMBOL(empty_zero_page)
|
||||
|
||||
.globl swapper_pg_dir
|
||||
swapper_pg_dir:
|
||||
|
@@ -42,6 +42,7 @@
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/export.h>
|
||||
#include "head_booke.h"
|
||||
|
||||
/* As with the other PowerPC ports, it is expected that when code
|
||||
@@ -1223,6 +1224,7 @@ sdata:
|
||||
.globl empty_zero_page
|
||||
empty_zero_page:
|
||||
.space 4096
|
||||
EXPORT_SYMBOL(empty_zero_page)
|
||||
.globl swapper_pg_dir
|
||||
swapper_pg_dir:
|
||||
.space PGD_TABLE_SIZE
|
||||
|
@@ -18,6 +18,7 @@
|
||||
#include <asm/unistd.h>
|
||||
#include <asm/asm-compat.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.text
|
||||
|
||||
@@ -118,3 +119,4 @@ _GLOBAL(longjmp)
|
||||
_GLOBAL(current_stack_pointer)
|
||||
PPC_LL r3,0(r1)
|
||||
blr
|
||||
EXPORT_SYMBOL(current_stack_pointer)
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include <asm/kexec.h>
|
||||
#include <asm/bug.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.text
|
||||
|
||||
@@ -319,6 +320,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_UNIFIED_ID_CACHE)
|
||||
#endif /* CONFIG_4xx */
|
||||
isync
|
||||
blr
|
||||
EXPORT_SYMBOL(flush_instruction_cache)
|
||||
#endif /* CONFIG_PPC_8xx */
|
||||
|
||||
/*
|
||||
@@ -359,6 +361,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
|
||||
isync
|
||||
blr
|
||||
_ASM_NOKPROBE_SYMBOL(flush_icache_range)
|
||||
EXPORT_SYMBOL(flush_icache_range)
|
||||
|
||||
/*
|
||||
* Flush a particular page from the data cache to RAM.
|
||||
@@ -497,6 +500,7 @@ _GLOBAL(copy_page)
|
||||
li r0,MAX_COPY_PREFETCH
|
||||
li r11,4
|
||||
b 2b
|
||||
EXPORT_SYMBOL(copy_page)
|
||||
|
||||
/*
|
||||
* Extended precision shifts.
|
||||
@@ -524,6 +528,7 @@ _GLOBAL(__ashrdi3)
|
||||
sraw r3,r3,r5 # MSW = MSW >> count
|
||||
or r4,r4,r7 # LSW |= t2
|
||||
blr
|
||||
EXPORT_SYMBOL(__ashrdi3)
|
||||
|
||||
_GLOBAL(__ashldi3)
|
||||
subfic r6,r5,32
|
||||
@@ -535,6 +540,7 @@ _GLOBAL(__ashldi3)
|
||||
slw r4,r4,r5 # LSW = LSW << count
|
||||
or r3,r3,r7 # MSW |= t2
|
||||
blr
|
||||
EXPORT_SYMBOL(__ashldi3)
|
||||
|
||||
_GLOBAL(__lshrdi3)
|
||||
subfic r6,r5,32
|
||||
@@ -546,6 +552,7 @@ _GLOBAL(__lshrdi3)
|
||||
srw r3,r3,r5 # MSW = MSW >> count
|
||||
or r4,r4,r7 # LSW |= t2
|
||||
blr
|
||||
EXPORT_SYMBOL(__lshrdi3)
|
||||
|
||||
/*
|
||||
* 64-bit comparison: __cmpdi2(s64 a, s64 b)
|
||||
@@ -561,6 +568,7 @@ _GLOBAL(__cmpdi2)
|
||||
bltlr
|
||||
li r3,2
|
||||
blr
|
||||
EXPORT_SYMBOL(__cmpdi2)
|
||||
/*
|
||||
* 64-bit comparison: __ucmpdi2(u64 a, u64 b)
|
||||
* Returns 0 if a < b, 1 if a == b, 2 if a > b.
|
||||
@@ -575,6 +583,7 @@ _GLOBAL(__ucmpdi2)
|
||||
bltlr
|
||||
li r3,2
|
||||
blr
|
||||
EXPORT_SYMBOL(__ucmpdi2)
|
||||
|
||||
_GLOBAL(__bswapdi2)
|
||||
rotlwi r9,r4,8
|
||||
@@ -586,6 +595,7 @@ _GLOBAL(__bswapdi2)
|
||||
mr r3,r9
|
||||
mr r4,r10
|
||||
blr
|
||||
EXPORT_SYMBOL(__bswapdi2)
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
_GLOBAL(start_secondary_resume)
|
||||
|
@@ -27,6 +27,7 @@
|
||||
#include <asm/kexec.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/mmu.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.text
|
||||
|
||||
@@ -110,6 +111,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
|
||||
isync
|
||||
blr
|
||||
_ASM_NOKPROBE_SYMBOL(flush_icache_range)
|
||||
EXPORT_SYMBOL(flush_icache_range)
|
||||
|
||||
/*
|
||||
* Like above, but only do the D-cache.
|
||||
@@ -140,6 +142,7 @@ _GLOBAL(flush_dcache_range)
|
||||
bdnz 0b
|
||||
sync
|
||||
blr
|
||||
EXPORT_SYMBOL(flush_dcache_range)
|
||||
|
||||
/*
|
||||
* Like above, but works on non-mapped physical addresses.
|
||||
@@ -243,6 +246,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
|
||||
blr
|
||||
|
||||
_GLOBAL(__bswapdi2)
|
||||
EXPORT_SYMBOL(__bswapdi2)
|
||||
srdi r8,r3,32
|
||||
rlwinm r7,r3,8,0xffffffff
|
||||
rlwimi r7,r3,24,0,7
|
||||
|
@@ -56,6 +56,7 @@ static DECLARE_BITMAP(phb_bitmap, MAX_PHBS);
|
||||
|
||||
/* ISA Memory physical address */
|
||||
resource_size_t isa_mem_base;
|
||||
EXPORT_SYMBOL(isa_mem_base);
|
||||
|
||||
|
||||
static struct dma_map_ops *pci_dma_ops = &dma_direct_ops;
|
||||
|
@@ -32,6 +32,8 @@
|
||||
unsigned long isa_io_base = 0;
|
||||
unsigned long pci_dram_offset = 0;
|
||||
int pcibios_assign_bus_offset = 1;
|
||||
EXPORT_SYMBOL(isa_io_base);
|
||||
EXPORT_SYMBOL(pci_dram_offset);
|
||||
|
||||
void pcibios_make_OF_bus_map(void);
|
||||
|
||||
|
@@ -1,37 +0,0 @@
|
||||
#include <linux/ftrace.h>
|
||||
#include <linux/mm.h>
|
||||
|
||||
#include <asm/processor.h>
|
||||
#include <asm/switch_to.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/epapr_hcalls.h>
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
EXPORT_SYMBOL(flush_dcache_range);
|
||||
#endif
|
||||
EXPORT_SYMBOL(flush_icache_range);
|
||||
|
||||
EXPORT_SYMBOL(empty_zero_page);
|
||||
|
||||
long long __bswapdi2(long long);
|
||||
EXPORT_SYMBOL(__bswapdi2);
|
||||
|
||||
#ifdef CONFIG_FUNCTION_TRACER
|
||||
EXPORT_SYMBOL(_mcount);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PPC_FPU
|
||||
EXPORT_SYMBOL(load_fp_state);
|
||||
EXPORT_SYMBOL(store_fp_state);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ALTIVEC
|
||||
EXPORT_SYMBOL(load_vr_state);
|
||||
EXPORT_SYMBOL(store_vr_state);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_EPAPR_PARAVIRT
|
||||
EXPORT_SYMBOL(epapr_hypercall_start);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(current_stack_pointer);
|
@@ -1,60 +0,0 @@
|
||||
#include <linux/export.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
#include <asm/page.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/hw_irq.h>
|
||||
#include <asm/time.h>
|
||||
#include <asm/mmu_context.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/dcr.h>
|
||||
|
||||
EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
|
||||
EXPORT_SYMBOL(DMA_MODE_READ);
|
||||
EXPORT_SYMBOL(DMA_MODE_WRITE);
|
||||
|
||||
#if defined(CONFIG_PCI)
|
||||
EXPORT_SYMBOL(isa_io_base);
|
||||
EXPORT_SYMBOL(isa_mem_base);
|
||||
EXPORT_SYMBOL(pci_dram_offset);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
EXPORT_SYMBOL(smp_hw_index);
|
||||
#endif
|
||||
|
||||
long long __ashrdi3(long long, int);
|
||||
long long __ashldi3(long long, int);
|
||||
long long __lshrdi3(long long, int);
|
||||
int __ucmpdi2(unsigned long long, unsigned long long);
|
||||
int __cmpdi2(long long, long long);
|
||||
EXPORT_SYMBOL(__ashrdi3);
|
||||
EXPORT_SYMBOL(__ashldi3);
|
||||
EXPORT_SYMBOL(__lshrdi3);
|
||||
EXPORT_SYMBOL(__ucmpdi2);
|
||||
EXPORT_SYMBOL(__cmpdi2);
|
||||
|
||||
EXPORT_SYMBOL(timer_interrupt);
|
||||
EXPORT_SYMBOL(tb_ticks_per_jiffy);
|
||||
|
||||
EXPORT_SYMBOL(switch_mmu_context);
|
||||
|
||||
#ifdef CONFIG_PPC_STD_MMU_32
|
||||
extern long mol_trampoline;
|
||||
EXPORT_SYMBOL(mol_trampoline); /* For MOL */
|
||||
EXPORT_SYMBOL(flush_hash_pages); /* For MOL */
|
||||
#ifdef CONFIG_SMP
|
||||
extern int mmu_hash_lock;
|
||||
EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */
|
||||
#endif /* CONFIG_SMP */
|
||||
extern long *intercept_table;
|
||||
EXPORT_SYMBOL(intercept_table);
|
||||
#endif /* CONFIG_PPC_STD_MMU_32 */
|
||||
|
||||
#ifdef CONFIG_PPC_DCR_NATIVE
|
||||
EXPORT_SYMBOL(__mtdcr);
|
||||
EXPORT_SYMBOL(__mfdcr);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(flush_instruction_cache);
|
@@ -16,6 +16,7 @@
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/memblock.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/prom.h>
|
||||
@@ -47,11 +48,16 @@ int boot_cpuid_phys;
|
||||
EXPORT_SYMBOL_GPL(boot_cpuid_phys);
|
||||
|
||||
int smp_hw_index[NR_CPUS];
|
||||
EXPORT_SYMBOL(smp_hw_index);
|
||||
|
||||
unsigned long ISA_DMA_THRESHOLD;
|
||||
unsigned int DMA_MODE_READ;
|
||||
unsigned int DMA_MODE_WRITE;
|
||||
|
||||
EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
|
||||
EXPORT_SYMBOL(DMA_MODE_READ);
|
||||
EXPORT_SYMBOL(DMA_MODE_WRITE);
|
||||
|
||||
/*
|
||||
* These are used in binfmt_elf.c to put aux entries on the stack
|
||||
* for each elf executable being started.
|
||||
|
@@ -596,6 +596,7 @@ void timer_interrupt(struct pt_regs * regs)
|
||||
irq_exit();
|
||||
set_irq_regs(old_regs);
|
||||
}
|
||||
EXPORT_SYMBOL(timer_interrupt);
|
||||
|
||||
/*
|
||||
* Hypervisor decrementer interrupts shouldn't occur but are sometimes
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include <asm/thread_info.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
/*
|
||||
* Load state from memory into VMX registers including VSCR.
|
||||
@@ -17,6 +18,7 @@ _GLOBAL(load_vr_state)
|
||||
mtvscr v0
|
||||
REST_32VRS(0,r4,r3)
|
||||
blr
|
||||
EXPORT_SYMBOL(load_vr_state)
|
||||
|
||||
/*
|
||||
* Store VMX state into memory, including VSCR.
|
||||
@@ -28,6 +30,7 @@ _GLOBAL(store_vr_state)
|
||||
li r4, VRSTATE_VSCR
|
||||
stvx v0, r4, r3
|
||||
blr
|
||||
EXPORT_SYMBOL(store_vr_state)
|
||||
|
||||
/*
|
||||
* Disable VMX for the task which had it previously,
|
||||
|
Reference in New Issue
Block a user