Path: blob/master/arch/powerpc/lib/feature-fixups-test.S
10817 views
/*1* Copyright 2008 Michael Ellerman, IBM Corporation.2*3*4* This program is free software; you can redistribute it and/or5* modify it under the terms of the GNU General Public License6* as published by the Free Software Foundation; either version7* 2 of the License, or (at your option) any later version.8*/910#include <asm/feature-fixups.h>11#include <asm/ppc_asm.h>12#include <asm/synch.h>1314.text1516#define globl(x) \17.globl x; \18x:1920globl(ftr_fixup_test1)21or 1,1,122or 2,2,2 /* fixup will nop out this instruction */23or 3,3,32425globl(end_ftr_fixup_test1)2627globl(ftr_fixup_test1_orig)28or 1,1,129or 2,2,230or 3,3,33132globl(ftr_fixup_test1_expected)33or 1,1,134nop35or 3,3,33637globl(ftr_fixup_test2)38or 1,1,139or 2,2,2 /* fixup will replace this with ftr_fixup_test2_alt */40or 3,3,34142globl(end_ftr_fixup_test2)4344globl(ftr_fixup_test2_orig)45or 1,1,146or 2,2,247or 3,3,34849globl(ftr_fixup_test2_alt)50or 31,31,315152globl(ftr_fixup_test2_expected)53or 1,1,154or 31,31,3155or 3,3,35657globl(ftr_fixup_test3)58or 1,1,159or 2,2,2 /* fixup will fail to replace this */60or 3,3,36162globl(end_ftr_fixup_test3)6364globl(ftr_fixup_test3_orig)65or 1,1,166or 2,2,267or 3,3,36869globl(ftr_fixup_test3_alt)70or 31,31,3171or 31,31,317273globl(ftr_fixup_test4)74or 1,1,175or 2,2,276or 2,2,277or 2,2,278or 2,2,279or 3,3,38081globl(end_ftr_fixup_test4)8283globl(ftr_fixup_test4_expected)84or 1,1,185or 31,31,3186or 31,31,3187nop88nop89or 3,3,39091globl(ftr_fixup_test4_orig)92or 1,1,193or 2,2,294or 2,2,295or 2,2,296or 2,2,297or 3,3,39899globl(ftr_fixup_test4_alt)100or 31,31,31101or 31,31,31102103104globl(ftr_fixup_test5)105or 1,1,1106BEGIN_FTR_SECTION107or 2,2,2108or 2,2,2109or 2,2,2110or 2,2,2111or 2,2,2112or 2,2,2113or 2,2,2114FTR_SECTION_ELSE1152: b 3f1163: or 5,5,5117beq 3b118b 1f119or 6,6,6120b 2b1211: bdnz 3b122ALT_FTR_SECTION_END(0, 1)123or 1,1,1124125globl(end_ftr_fixup_test5)126127globl(ftr_fixup_test5_expected)128or 1,1,11292: b 3f1303: or 5,5,5131beq 3b132b 1f133or 6,6,6134b 2b1351: bdnz 3b136or 1,1,1137138globl(ftr_fixup_test6)1391: or 1,1,1140BEGIN_FTR_SECTION141or 5,5,51422: PPC_LCMPI r3,0143beq 4f144blt 2b145b 1b146b 4f147FTR_SECTION_ELSE1482: or 2,2,2149PPC_LCMPI r3,1150beq 3f151blt 2b152b 3f153b 1b154ALT_FTR_SECTION_END(0, 1)1553: or 1,1,1156or 2,2,21574: or 3,3,3158159globl(end_ftr_fixup_test6)160161globl(ftr_fixup_test6_expected)1621: or 1,1,11632: or 2,2,2164PPC_LCMPI r3,1165beq 3f166blt 2b167b 3f168b 1b1692: or 1,1,1170or 2,2,21713: or 3,3,3172173174#if 0175/* Test that if we have a larger else case the assembler spots it and176* reports an error. #if 0'ed so as not to break the build normally.177*/178ftr_fixup_test7:179or 1,1,1180BEGIN_FTR_SECTION181or 2,2,2182or 2,2,2183or 2,2,2184FTR_SECTION_ELSE185or 3,3,3186or 3,3,3187or 3,3,3188or 3,3,3189ALT_FTR_SECTION_END(0, 1)190or 1,1,1191#endif192193#define MAKE_MACRO_TEST(TYPE) \194globl(ftr_fixup_test_ ##TYPE##_macros) \195or 1,1,1; \196/* Basic test, this section should all be nop'ed */ \197BEGIN_##TYPE##_SECTION \198or 2,2,2; \199or 2,2,2; \200or 2,2,2; \201END_##TYPE##_SECTION(0, 1) \202or 1,1,1; \203or 1,1,1; \204/* Basic test, this section should NOT be nop'ed */ \205BEGIN_##TYPE##_SECTION \206or 2,2,2; \207or 2,2,2; \208or 2,2,2; \209END_##TYPE##_SECTION(0, 0) \210or 1,1,1; \211or 1,1,1; \212/* Nesting test, inner section should be nop'ed */ \213BEGIN_##TYPE##_SECTION \214or 2,2,2; \215or 2,2,2; \216BEGIN_##TYPE##_SECTION_NESTED(80) \217or 3,3,3; \218or 3,3,3; \219END_##TYPE##_SECTION_NESTED(0, 1, 80) \220or 2,2,2; \221or 2,2,2; \222END_##TYPE##_SECTION(0, 0) \223or 1,1,1; \224or 1,1,1; \225/* Nesting test, whole section should be nop'ed */ \226BEGIN_##TYPE##_SECTION \227or 2,2,2; \228or 2,2,2; \229BEGIN_##TYPE##_SECTION_NESTED(80) \230or 3,3,3; \231or 3,3,3; \232END_##TYPE##_SECTION_NESTED(0, 0, 80) \233or 2,2,2; \234or 2,2,2; \235END_##TYPE##_SECTION(0, 1) \236or 1,1,1; \237or 1,1,1; \238/* Nesting test, none should be nop'ed */ \239BEGIN_##TYPE##_SECTION \240or 2,2,2; \241or 2,2,2; \242BEGIN_##TYPE##_SECTION_NESTED(80) \243or 3,3,3; \244or 3,3,3; \245END_##TYPE##_SECTION_NESTED(0, 0, 80) \246or 2,2,2; \247or 2,2,2; \248END_##TYPE##_SECTION(0, 0) \249or 1,1,1; \250or 1,1,1; \251/* Basic alt section test, default case should be taken */ \252BEGIN_##TYPE##_SECTION \253or 3,3,3; \254or 3,3,3; \255or 3,3,3; \256##TYPE##_SECTION_ELSE \257or 5,5,5; \258or 5,5,5; \259ALT_##TYPE##_SECTION_END(0, 0) \260or 1,1,1; \261or 1,1,1; \262/* Basic alt section test, else case should be taken */ \263BEGIN_##TYPE##_SECTION \264or 3,3,3; \265or 3,3,3; \266or 3,3,3; \267##TYPE##_SECTION_ELSE \268or 31,31,31; \269or 31,31,31; \270or 31,31,31; \271ALT_##TYPE##_SECTION_END(0, 1) \272or 1,1,1; \273or 1,1,1; \274/* Alt with smaller else case, should be padded with nops */ \275BEGIN_##TYPE##_SECTION \276or 3,3,3; \277or 3,3,3; \278or 3,3,3; \279##TYPE##_SECTION_ELSE \280or 31,31,31; \281ALT_##TYPE##_SECTION_END(0, 1) \282or 1,1,1; \283or 1,1,1; \284/* Alt section with nested section in default case */ \285/* Default case should be taken, with nop'ed inner section */ \286BEGIN_##TYPE##_SECTION \287or 3,3,3; \288BEGIN_##TYPE##_SECTION_NESTED(95) \289or 3,3,3; \290or 3,3,3; \291END_##TYPE##_SECTION_NESTED(0, 1, 95) \292or 3,3,3; \293##TYPE##_SECTION_ELSE \294or 2,2,2; \295or 2,2,2; \296ALT_##TYPE##_SECTION_END(0, 0) \297or 1,1,1; \298or 1,1,1; \299/* Alt section with nested section in else, default taken */ \300BEGIN_##TYPE##_SECTION \301or 3,3,3; \302or 3,3,3; \303or 3,3,3; \304##TYPE##_SECTION_ELSE \305or 5,5,5; \306BEGIN_##TYPE##_SECTION_NESTED(95) \307or 3,3,3; \308END_##TYPE##_SECTION_NESTED(0, 1, 95) \309or 5,5,5; \310ALT_##TYPE##_SECTION_END(0, 0) \311or 1,1,1; \312or 1,1,1; \313/* Alt section with nested section in else, else taken & nop */ \314BEGIN_##TYPE##_SECTION \315or 3,3,3; \316or 3,3,3; \317or 3,3,3; \318##TYPE##_SECTION_ELSE \319or 5,5,5; \320BEGIN_##TYPE##_SECTION_NESTED(95) \321or 3,3,3; \322END_##TYPE##_SECTION_NESTED(0, 1, 95) \323or 5,5,5; \324ALT_##TYPE##_SECTION_END(0, 1) \325or 1,1,1; \326or 1,1,1; \327/* Feature section with nested alt section, default taken */ \328BEGIN_##TYPE##_SECTION \329or 2,2,2; \330BEGIN_##TYPE##_SECTION_NESTED(95) \331or 1,1,1; \332##TYPE##_SECTION_ELSE_NESTED(95) \333or 5,5,5; \334ALT_##TYPE##_SECTION_END_NESTED(0, 0, 95) \335or 2,2,2; \336END_##TYPE##_SECTION(0, 0) \337or 1,1,1; \338or 1,1,1; \339/* Feature section with nested alt section, else taken */ \340BEGIN_##TYPE##_SECTION \341or 2,2,2; \342BEGIN_##TYPE##_SECTION_NESTED(95) \343or 1,1,1; \344##TYPE##_SECTION_ELSE_NESTED(95) \345or 5,5,5; \346ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) \347or 2,2,2; \348END_##TYPE##_SECTION(0, 0) \349or 1,1,1; \350or 1,1,1; \351/* Feature section with nested alt section, all nop'ed */ \352BEGIN_##TYPE##_SECTION \353or 2,2,2; \354BEGIN_##TYPE##_SECTION_NESTED(95) \355or 1,1,1; \356##TYPE##_SECTION_ELSE_NESTED(95) \357or 5,5,5; \358ALT_##TYPE##_SECTION_END_NESTED(0, 0, 95) \359or 2,2,2; \360END_##TYPE##_SECTION(0, 1) \361or 1,1,1; \362or 1,1,1; \363/* Nested alt sections, default with inner default taken */ \364BEGIN_##TYPE##_SECTION \365or 2,2,2; \366BEGIN_##TYPE##_SECTION_NESTED(95) \367or 1,1,1; \368##TYPE##_SECTION_ELSE_NESTED(95) \369or 5,5,5; \370ALT_##TYPE##_SECTION_END_NESTED(0, 0, 95) \371or 2,2,2; \372##TYPE##_SECTION_ELSE \373or 31,31,31; \374BEGIN_##TYPE##_SECTION_NESTED(94) \375or 5,5,5; \376##TYPE##_SECTION_ELSE_NESTED(94) \377or 1,1,1; \378ALT_##TYPE##_SECTION_END_NESTED(0, 0, 94) \379or 31,31,31; \380ALT_##TYPE##_SECTION_END(0, 0) \381or 1,1,1; \382or 1,1,1; \383/* Nested alt sections, default with inner else taken */ \384BEGIN_##TYPE##_SECTION \385or 2,2,2; \386BEGIN_##TYPE##_SECTION_NESTED(95) \387or 1,1,1; \388##TYPE##_SECTION_ELSE_NESTED(95) \389or 5,5,5; \390ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) \391or 2,2,2; \392##TYPE##_SECTION_ELSE \393or 31,31,31; \394BEGIN_##TYPE##_SECTION_NESTED(94) \395or 5,5,5; \396##TYPE##_SECTION_ELSE_NESTED(94) \397or 1,1,1; \398ALT_##TYPE##_SECTION_END_NESTED(0, 0, 94) \399or 31,31,31; \400ALT_##TYPE##_SECTION_END(0, 0) \401or 1,1,1; \402or 1,1,1; \403/* Nested alt sections, else with inner default taken */ \404BEGIN_##TYPE##_SECTION \405or 2,2,2; \406BEGIN_##TYPE##_SECTION_NESTED(95) \407or 1,1,1; \408##TYPE##_SECTION_ELSE_NESTED(95) \409or 5,5,5; \410ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) \411or 2,2,2; \412##TYPE##_SECTION_ELSE \413or 31,31,31; \414BEGIN_##TYPE##_SECTION_NESTED(94) \415or 5,5,5; \416##TYPE##_SECTION_ELSE_NESTED(94) \417or 1,1,1; \418ALT_##TYPE##_SECTION_END_NESTED(0, 0, 94) \419or 31,31,31; \420ALT_##TYPE##_SECTION_END(0, 1) \421or 1,1,1; \422or 1,1,1; \423/* Nested alt sections, else with inner else taken */ \424BEGIN_##TYPE##_SECTION \425or 2,2,2; \426BEGIN_##TYPE##_SECTION_NESTED(95) \427or 1,1,1; \428##TYPE##_SECTION_ELSE_NESTED(95) \429or 5,5,5; \430ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) \431or 2,2,2; \432##TYPE##_SECTION_ELSE \433or 31,31,31; \434BEGIN_##TYPE##_SECTION_NESTED(94) \435or 5,5,5; \436##TYPE##_SECTION_ELSE_NESTED(94) \437or 1,1,1; \438ALT_##TYPE##_SECTION_END_NESTED(0, 1, 94) \439or 31,31,31; \440ALT_##TYPE##_SECTION_END(0, 1) \441or 1,1,1; \442or 1,1,1; \443/* Nested alt sections, else can have large else case */ \444BEGIN_##TYPE##_SECTION \445or 2,2,2; \446or 2,2,2; \447or 2,2,2; \448or 2,2,2; \449##TYPE##_SECTION_ELSE \450BEGIN_##TYPE##_SECTION_NESTED(94) \451or 5,5,5; \452or 5,5,5; \453or 5,5,5; \454or 5,5,5; \455##TYPE##_SECTION_ELSE_NESTED(94) \456or 1,1,1; \457or 1,1,1; \458or 1,1,1; \459or 1,1,1; \460ALT_##TYPE##_SECTION_END_NESTED(0, 1, 94) \461ALT_##TYPE##_SECTION_END(0, 1) \462or 1,1,1; \463or 1,1,1;464465#define MAKE_MACRO_TEST_EXPECTED(TYPE) \466globl(ftr_fixup_test_ ##TYPE##_macros_expected) \467or 1,1,1; \468/* Basic test, this section should all be nop'ed */ \469/* BEGIN_##TYPE##_SECTION */ \470nop; \471nop; \472nop; \473/* END_##TYPE##_SECTION(0, 1) */ \474or 1,1,1; \475or 1,1,1; \476/* Basic test, this section should NOT be nop'ed */ \477/* BEGIN_##TYPE##_SECTION */ \478or 2,2,2; \479or 2,2,2; \480or 2,2,2; \481/* END_##TYPE##_SECTION(0, 0) */ \482or 1,1,1; \483or 1,1,1; \484/* Nesting test, inner section should be nop'ed */ \485/* BEGIN_##TYPE##_SECTION */ \486or 2,2,2; \487or 2,2,2; \488/* BEGIN_##TYPE##_SECTION_NESTED(80) */ \489nop; \490nop; \491/* END_##TYPE##_SECTION_NESTED(0, 1, 80) */ \492or 2,2,2; \493or 2,2,2; \494/* END_##TYPE##_SECTION(0, 0) */ \495or 1,1,1; \496or 1,1,1; \497/* Nesting test, whole section should be nop'ed */ \498/* NB. inner section is not nop'ed, but then entire outer is */ \499/* BEGIN_##TYPE##_SECTION */ \500nop; \501nop; \502/* BEGIN_##TYPE##_SECTION_NESTED(80) */ \503nop; \504nop; \505/* END_##TYPE##_SECTION_NESTED(0, 0, 80) */ \506nop; \507nop; \508/* END_##TYPE##_SECTION(0, 1) */ \509or 1,1,1; \510or 1,1,1; \511/* Nesting test, none should be nop'ed */ \512/* BEGIN_##TYPE##_SECTION */ \513or 2,2,2; \514or 2,2,2; \515/* BEGIN_##TYPE##_SECTION_NESTED(80) */ \516or 3,3,3; \517or 3,3,3; \518/* END_##TYPE##_SECTION_NESTED(0, 0, 80) */ \519or 2,2,2; \520or 2,2,2; \521/* END_##TYPE##_SECTION(0, 0) */ \522or 1,1,1; \523or 1,1,1; \524/* Basic alt section test, default case should be taken */ \525/* BEGIN_##TYPE##_SECTION */ \526or 3,3,3; \527or 3,3,3; \528or 3,3,3; \529/* ##TYPE##_SECTION_ELSE */ \530/* or 5,5,5; */ \531/* or 5,5,5; */ \532/* ALT_##TYPE##_SECTION_END(0, 0) */ \533or 1,1,1; \534or 1,1,1; \535/* Basic alt section test, else case should be taken */ \536/* BEGIN_##TYPE##_SECTION */ \537/* or 3,3,3; */ \538/* or 3,3,3; */ \539/* or 3,3,3; */ \540/* ##TYPE##_SECTION_ELSE */ \541or 31,31,31; \542or 31,31,31; \543or 31,31,31; \544/* ALT_##TYPE##_SECTION_END(0, 1) */ \545or 1,1,1; \546or 1,1,1; \547/* Alt with smaller else case, should be padded with nops */ \548/* BEGIN_##TYPE##_SECTION */ \549/* or 3,3,3; */ \550/* or 3,3,3; */ \551/* or 3,3,3; */ \552/* ##TYPE##_SECTION_ELSE */ \553or 31,31,31; \554nop; \555nop; \556/* ALT_##TYPE##_SECTION_END(0, 1) */ \557or 1,1,1; \558or 1,1,1; \559/* Alt section with nested section in default case */ \560/* Default case should be taken, with nop'ed inner section */ \561/* BEGIN_##TYPE##_SECTION */ \562or 3,3,3; \563/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \564nop; \565nop; \566/* END_##TYPE##_SECTION_NESTED(0, 1, 95) */ \567or 3,3,3; \568/* ##TYPE##_SECTION_ELSE */ \569/* or 2,2,2; */ \570/* or 2,2,2; */ \571/* ALT_##TYPE##_SECTION_END(0, 0) */ \572or 1,1,1; \573or 1,1,1; \574/* Alt section with nested section in else, default taken */ \575/* BEGIN_##TYPE##_SECTION */ \576or 3,3,3; \577or 3,3,3; \578or 3,3,3; \579/* ##TYPE##_SECTION_ELSE */ \580/* or 5,5,5; */ \581/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \582/* or 3,3,3; */ \583/* END_##TYPE##_SECTION_NESTED(0, 1, 95) */ \584/* or 5,5,5; */ \585/* ALT_##TYPE##_SECTION_END(0, 0) */ \586or 1,1,1; \587or 1,1,1; \588/* Alt section with nested section in else, else taken & nop */ \589/* BEGIN_##TYPE##_SECTION */ \590/* or 3,3,3; */ \591/* or 3,3,3; */ \592/* or 3,3,3; */ \593/* ##TYPE##_SECTION_ELSE */ \594or 5,5,5; \595/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \596nop; \597/* END_##TYPE##_SECTION_NESTED(0, 1, 95) */ \598or 5,5,5; \599/* ALT_##TYPE##_SECTION_END(0, 1) */ \600or 1,1,1; \601or 1,1,1; \602/* Feature section with nested alt section, default taken */ \603/* BEGIN_##TYPE##_SECTION */ \604or 2,2,2; \605/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \606or 1,1,1; \607/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \608/* or 5,5,5; */ \609/* ALT_##TYPE##_SECTION_END_NESTED(0, 0, 95) */ \610or 2,2,2; \611/* END_##TYPE##_SECTION(0, 0) */ \612or 1,1,1; \613or 1,1,1; \614/* Feature section with nested alt section, else taken */ \615/* BEGIN_##TYPE##_SECTION */ \616or 2,2,2; \617/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \618/* or 1,1,1; */ \619/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \620or 5,5,5; \621/* ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) */ \622or 2,2,2; \623/* END_##TYPE##_SECTION(0, 0) */ \624or 1,1,1; \625or 1,1,1; \626/* Feature section with nested alt section, all nop'ed */ \627/* BEGIN_##TYPE##_SECTION */ \628nop; \629/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \630nop; \631/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \632/* or 5,5,5; */ \633/* ALT_##TYPE##_SECTION_END_NESTED(0, 0, 95) */ \634nop; \635/* END_##TYPE##_SECTION(0, 1) */ \636or 1,1,1; \637or 1,1,1; \638/* Nested alt sections, default with inner default taken */ \639/* BEGIN_##TYPE##_SECTION */ \640or 2,2,2; \641/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \642or 1,1,1; \643/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \644/* or 5,5,5; */ \645/* ALT_##TYPE##_SECTION_END_NESTED(0, 0, 95) */ \646or 2,2,2; \647/* ##TYPE##_SECTION_ELSE */ \648/* or 31,31,31; */ \649/* BEGIN_##TYPE##_SECTION_NESTED(94) */ \650/* or 5,5,5; */ \651/* ##TYPE##_SECTION_ELSE_NESTED(94) */ \652/* or 1,1,1; */ \653/* ALT_##TYPE##_SECTION_END_NESTED(0, 0, 94) */ \654/* or 31,31,31; */ \655/* ALT_##TYPE##_SECTION_END(0, 0) */ \656or 1,1,1; \657or 1,1,1; \658/* Nested alt sections, default with inner else taken */ \659/* BEGIN_##TYPE##_SECTION */ \660or 2,2,2; \661/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \662/* or 1,1,1; */ \663/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \664or 5,5,5; \665/* ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) */ \666or 2,2,2; \667/* ##TYPE##_SECTION_ELSE */ \668/* or 31,31,31; */ \669/* BEGIN_##TYPE##_SECTION_NESTED(94) */ \670/* or 5,5,5; */ \671/* ##TYPE##_SECTION_ELSE_NESTED(94) */ \672/* or 1,1,1; */ \673/* ALT_##TYPE##_SECTION_END_NESTED(0, 0, 94) */ \674/* or 31,31,31; */ \675/* ALT_##TYPE##_SECTION_END(0, 0) */ \676or 1,1,1; \677or 1,1,1; \678/* Nested alt sections, else with inner default taken */ \679/* BEGIN_##TYPE##_SECTION */ \680/* or 2,2,2; */ \681/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \682/* or 1,1,1; */ \683/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \684/* or 5,5,5; */ \685/* ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) */ \686/* or 2,2,2; */ \687/* ##TYPE##_SECTION_ELSE */ \688or 31,31,31; \689/* BEGIN_##TYPE##_SECTION_NESTED(94) */ \690or 5,5,5; \691/* ##TYPE##_SECTION_ELSE_NESTED(94) */ \692/* or 1,1,1; */ \693/* ALT_##TYPE##_SECTION_END_NESTED(0, 0, 94) */ \694or 31,31,31; \695/* ALT_##TYPE##_SECTION_END(0, 1) */ \696or 1,1,1; \697or 1,1,1; \698/* Nested alt sections, else with inner else taken */ \699/* BEGIN_##TYPE##_SECTION */ \700/* or 2,2,2; */ \701/* BEGIN_##TYPE##_SECTION_NESTED(95) */ \702/* or 1,1,1; */ \703/* ##TYPE##_SECTION_ELSE_NESTED(95) */ \704/* or 5,5,5; */ \705/* ALT_##TYPE##_SECTION_END_NESTED(0, 1, 95) */ \706/* or 2,2,2; */ \707/* ##TYPE##_SECTION_ELSE */ \708or 31,31,31; \709/* BEGIN_##TYPE##_SECTION_NESTED(94) */ \710/* or 5,5,5; */ \711/* ##TYPE##_SECTION_ELSE_NESTED(94) */ \712or 1,1,1; \713/* ALT_##TYPE##_SECTION_END_NESTED(0, 1, 94) */ \714or 31,31,31; \715/* ALT_##TYPE##_SECTION_END(0, 1) */ \716or 1,1,1; \717or 1,1,1; \718/* Nested alt sections, else can have large else case */ \719/* BEGIN_##TYPE##_SECTION */ \720/* or 2,2,2; */ \721/* or 2,2,2; */ \722/* or 2,2,2; */ \723/* or 2,2,2; */ \724/* ##TYPE##_SECTION_ELSE */ \725/* BEGIN_##TYPE##_SECTION_NESTED(94) */ \726/* or 5,5,5; */ \727/* or 5,5,5; */ \728/* or 5,5,5; */ \729/* or 5,5,5; */ \730/* ##TYPE##_SECTION_ELSE_NESTED(94) */ \731or 1,1,1; \732or 1,1,1; \733or 1,1,1; \734or 1,1,1; \735/* ALT_##TYPE##_SECTION_END_NESTED(0, 1, 94) */ \736/* ALT_##TYPE##_SECTION_END(0, 1) */ \737or 1,1,1; \738or 1,1,1;739740MAKE_MACRO_TEST(FTR);741MAKE_MACRO_TEST_EXPECTED(FTR);742743#ifdef CONFIG_PPC64744MAKE_MACRO_TEST(FW_FTR);745MAKE_MACRO_TEST_EXPECTED(FW_FTR);746#endif747748globl(lwsync_fixup_test)7491: or 1,1,1750LWSYNC751globl(end_lwsync_fixup_test)752753globl(lwsync_fixup_test_expected_LWSYNC)7541: or 1,1,1755lwsync756757globl(lwsync_fixup_test_expected_SYNC)7581: or 1,1,1759sync760761762763