.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright 2008 Michael Ellerman, IBM Corporation. |
---|
3 | | - * |
---|
4 | | - * |
---|
5 | | - * This program is free software; you can redistribute it and/or |
---|
6 | | - * modify it under the terms of the GNU General Public License |
---|
7 | | - * as published by the Free Software Foundation; either version |
---|
8 | | - * 2 of the License, or (at your option) any later version. |
---|
9 | 4 | */ |
---|
10 | 5 | |
---|
11 | 6 | #include <asm/feature-fixups.h> |
---|
12 | 7 | #include <asm/ppc_asm.h> |
---|
13 | 8 | #include <asm/synch.h> |
---|
14 | 9 | #include <asm/asm-compat.h> |
---|
| 10 | +#include <asm/ppc-opcode.h> |
---|
15 | 11 | |
---|
16 | 12 | .text |
---|
17 | 13 | |
---|
.. | .. |
---|
796 | 792 | 1: or 1,1,1 |
---|
797 | 793 | sync |
---|
798 | 794 | |
---|
| 795 | +globl(ftr_fixup_prefix1) |
---|
| 796 | + or 1,1,1 |
---|
| 797 | + .long OP_PREFIX << 26 |
---|
| 798 | + .long 0x0000000 |
---|
| 799 | + or 2,2,2 |
---|
| 800 | +globl(end_ftr_fixup_prefix1) |
---|
| 801 | + |
---|
| 802 | +globl(ftr_fixup_prefix1_orig) |
---|
| 803 | + or 1,1,1 |
---|
| 804 | + .long OP_PREFIX << 26 |
---|
| 805 | + .long 0x0000000 |
---|
| 806 | + or 2,2,2 |
---|
| 807 | + |
---|
| 808 | +globl(ftr_fixup_prefix1_expected) |
---|
| 809 | + or 1,1,1 |
---|
| 810 | + nop |
---|
| 811 | + nop |
---|
| 812 | + or 2,2,2 |
---|
| 813 | + |
---|
| 814 | +globl(ftr_fixup_prefix2) |
---|
| 815 | + or 1,1,1 |
---|
| 816 | + .long OP_PREFIX << 26 |
---|
| 817 | + .long 0x0000000 |
---|
| 818 | + or 2,2,2 |
---|
| 819 | +globl(end_ftr_fixup_prefix2) |
---|
| 820 | + |
---|
| 821 | +globl(ftr_fixup_prefix2_orig) |
---|
| 822 | + or 1,1,1 |
---|
| 823 | + .long OP_PREFIX << 26 |
---|
| 824 | + .long 0x0000000 |
---|
| 825 | + or 2,2,2 |
---|
| 826 | + |
---|
| 827 | +globl(ftr_fixup_prefix2_alt) |
---|
| 828 | + .long OP_PREFIX << 26 |
---|
| 829 | + .long 0x0000001 |
---|
| 830 | + |
---|
| 831 | +globl(ftr_fixup_prefix2_expected) |
---|
| 832 | + or 1,1,1 |
---|
| 833 | + .long OP_PREFIX << 26 |
---|
| 834 | + .long 0x0000001 |
---|
| 835 | + or 2,2,2 |
---|
| 836 | + |
---|
| 837 | +globl(ftr_fixup_prefix3) |
---|
| 838 | + or 1,1,1 |
---|
| 839 | + .long OP_PREFIX << 26 |
---|
| 840 | + .long 0x0000000 |
---|
| 841 | + or 2,2,2 |
---|
| 842 | + or 3,3,3 |
---|
| 843 | +globl(end_ftr_fixup_prefix3) |
---|
| 844 | + |
---|
| 845 | +globl(ftr_fixup_prefix3_orig) |
---|
| 846 | + or 1,1,1 |
---|
| 847 | + .long OP_PREFIX << 26 |
---|
| 848 | + .long 0x0000000 |
---|
| 849 | + or 2,2,2 |
---|
| 850 | + or 3,3,3 |
---|
| 851 | + |
---|
| 852 | +globl(ftr_fixup_prefix3_alt) |
---|
| 853 | + .long OP_PREFIX << 26 |
---|
| 854 | + .long 0x0000001 |
---|
| 855 | + nop |
---|
| 856 | + |
---|
| 857 | +globl(ftr_fixup_prefix3_expected) |
---|
| 858 | + or 1,1,1 |
---|
| 859 | + .long OP_PREFIX << 26 |
---|
| 860 | + .long 0x0000001 |
---|
| 861 | + nop |
---|
| 862 | + or 3,3,3 |
---|