unknown_ext_chain.c 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819
  1. /*
  2. * Copyright (c) 2017 The Khronos Group Inc.
  3. * Copyright (c) 2017 Valve Corporation
  4. * Copyright (c) 2017 LunarG, Inc.
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the "License");
  7. * you may not use this file except in compliance with the License.
  8. * You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. *
  18. * Author Jon Ashburn <[email protected]>
  19. * Author: Lenny Komow <[email protected]>
  20. */
  21. // This code is used to pass on physical device extensions through the call chain. It must do this without creating a stack frame,
  22. // because the actual parameters of the call are not known. Since the first parameter is known to be a VkPhysicalDevice, it can
  23. // unwrap the physical device, overwriting the wrapped device, and then jump to the next function in the call chain. This code
  24. // attempts to accomplish this by relying on tail-call optimizations, but there is no guarantee that this will work. As a result,
  25. // this code is only compiled on systems where an assembly alternative has not been written.
  26. #include "vk_loader_platform.h"
  27. #include "loader.h"
  28. #if defined(__GNUC__) && !defined(__clang__)
  29. #pragma GCC optimize(3) // force gcc to use tail-calls
  30. #endif
  31. // Trampoline function macro for unknown physical device extension command.
  32. #define PhysDevExtTramp(num) \
  33. VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTramp##num(VkPhysicalDevice physical_device) { \
  34. const struct loader_instance_dispatch_table *disp; \
  35. disp = loader_get_instance_dispatch(physical_device); \
  36. disp->phys_dev_ext[num](loader_unwrap_physical_device(physical_device)); \
  37. }
  38. // Terminator function macro for unknown physical device extension command.
  39. #define PhysDevExtTermin(num) \
  40. VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTermin##num(VkPhysicalDevice physical_device) { \
  41. struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physical_device; \
  42. struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; \
  43. struct loader_instance *inst = (struct loader_instance *)icd_term->this_instance; \
  44. if (NULL == icd_term->phys_dev_ext[num]) { \
  45. loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Extension %s not supported for this physical device", \
  46. inst->phys_dev_ext_disp_hash[num].func_name); \
  47. } \
  48. icd_term->phys_dev_ext[num](phys_dev_term->phys_dev); \
  49. }
  50. // Trampoline function macro for unknown physical device extension command.
  51. #define DevExtTramp(num) \
  52. VKAPI_ATTR void VKAPI_CALL vkdev_ext##num(VkDevice device) { \
  53. const struct loader_dev_dispatch_table *disp; \
  54. disp = loader_get_dev_dispatch(device); \
  55. disp->ext_dispatch.dev_ext[num](device); \
  56. }
  57. // Instantiations of the trampoline
  58. PhysDevExtTramp(0)
  59. PhysDevExtTramp(1)
  60. PhysDevExtTramp(2)
  61. PhysDevExtTramp(3)
  62. PhysDevExtTramp(4)
  63. PhysDevExtTramp(5)
  64. PhysDevExtTramp(6)
  65. PhysDevExtTramp(7)
  66. PhysDevExtTramp(8)
  67. PhysDevExtTramp(9)
  68. PhysDevExtTramp(10)
  69. PhysDevExtTramp(11)
  70. PhysDevExtTramp(12)
  71. PhysDevExtTramp(13)
  72. PhysDevExtTramp(14)
  73. PhysDevExtTramp(15)
  74. PhysDevExtTramp(16)
  75. PhysDevExtTramp(17)
  76. PhysDevExtTramp(18)
  77. PhysDevExtTramp(19)
  78. PhysDevExtTramp(20)
  79. PhysDevExtTramp(21)
  80. PhysDevExtTramp(22)
  81. PhysDevExtTramp(23)
  82. PhysDevExtTramp(24)
  83. PhysDevExtTramp(25)
  84. PhysDevExtTramp(26)
  85. PhysDevExtTramp(27)
  86. PhysDevExtTramp(28)
  87. PhysDevExtTramp(29)
  88. PhysDevExtTramp(30)
  89. PhysDevExtTramp(31)
  90. PhysDevExtTramp(32)
  91. PhysDevExtTramp(33)
  92. PhysDevExtTramp(34)
  93. PhysDevExtTramp(35)
  94. PhysDevExtTramp(36)
  95. PhysDevExtTramp(37)
  96. PhysDevExtTramp(38)
  97. PhysDevExtTramp(39)
  98. PhysDevExtTramp(40)
  99. PhysDevExtTramp(41)
  100. PhysDevExtTramp(42)
  101. PhysDevExtTramp(43)
  102. PhysDevExtTramp(44)
  103. PhysDevExtTramp(45)
  104. PhysDevExtTramp(46)
  105. PhysDevExtTramp(47)
  106. PhysDevExtTramp(48)
  107. PhysDevExtTramp(49)
  108. PhysDevExtTramp(50)
  109. PhysDevExtTramp(51)
  110. PhysDevExtTramp(52)
  111. PhysDevExtTramp(53)
  112. PhysDevExtTramp(54)
  113. PhysDevExtTramp(55)
  114. PhysDevExtTramp(56)
  115. PhysDevExtTramp(57)
  116. PhysDevExtTramp(58)
  117. PhysDevExtTramp(59)
  118. PhysDevExtTramp(60)
  119. PhysDevExtTramp(61)
  120. PhysDevExtTramp(62)
  121. PhysDevExtTramp(63)
  122. PhysDevExtTramp(64)
  123. PhysDevExtTramp(65)
  124. PhysDevExtTramp(66)
  125. PhysDevExtTramp(67)
  126. PhysDevExtTramp(68)
  127. PhysDevExtTramp(69)
  128. PhysDevExtTramp(70)
  129. PhysDevExtTramp(71)
  130. PhysDevExtTramp(72)
  131. PhysDevExtTramp(73)
  132. PhysDevExtTramp(74)
  133. PhysDevExtTramp(75)
  134. PhysDevExtTramp(76)
  135. PhysDevExtTramp(77)
  136. PhysDevExtTramp(78)
  137. PhysDevExtTramp(79)
  138. PhysDevExtTramp(80)
  139. PhysDevExtTramp(81)
  140. PhysDevExtTramp(82)
  141. PhysDevExtTramp(83)
  142. PhysDevExtTramp(84)
  143. PhysDevExtTramp(85)
  144. PhysDevExtTramp(86)
  145. PhysDevExtTramp(87)
  146. PhysDevExtTramp(88)
  147. PhysDevExtTramp(89)
  148. PhysDevExtTramp(90)
  149. PhysDevExtTramp(91)
  150. PhysDevExtTramp(92)
  151. PhysDevExtTramp(93)
  152. PhysDevExtTramp(94)
  153. PhysDevExtTramp(95)
  154. PhysDevExtTramp(96)
  155. PhysDevExtTramp(97)
  156. PhysDevExtTramp(98)
  157. PhysDevExtTramp(99)
  158. PhysDevExtTramp(100)
  159. PhysDevExtTramp(101)
  160. PhysDevExtTramp(102)
  161. PhysDevExtTramp(103)
  162. PhysDevExtTramp(104)
  163. PhysDevExtTramp(105)
  164. PhysDevExtTramp(106)
  165. PhysDevExtTramp(107)
  166. PhysDevExtTramp(108)
  167. PhysDevExtTramp(109)
  168. PhysDevExtTramp(110)
  169. PhysDevExtTramp(111)
  170. PhysDevExtTramp(112)
  171. PhysDevExtTramp(113)
  172. PhysDevExtTramp(114)
  173. PhysDevExtTramp(115)
  174. PhysDevExtTramp(116)
  175. PhysDevExtTramp(117)
  176. PhysDevExtTramp(118)
  177. PhysDevExtTramp(119)
  178. PhysDevExtTramp(120)
  179. PhysDevExtTramp(121)
  180. PhysDevExtTramp(122)
  181. PhysDevExtTramp(123)
  182. PhysDevExtTramp(124)
  183. PhysDevExtTramp(125)
  184. PhysDevExtTramp(126)
  185. PhysDevExtTramp(127)
  186. PhysDevExtTramp(128)
  187. PhysDevExtTramp(129)
  188. PhysDevExtTramp(130)
  189. PhysDevExtTramp(131)
  190. PhysDevExtTramp(132)
  191. PhysDevExtTramp(133)
  192. PhysDevExtTramp(134)
  193. PhysDevExtTramp(135)
  194. PhysDevExtTramp(136)
  195. PhysDevExtTramp(137)
  196. PhysDevExtTramp(138)
  197. PhysDevExtTramp(139)
  198. PhysDevExtTramp(140)
  199. PhysDevExtTramp(141)
  200. PhysDevExtTramp(142)
  201. PhysDevExtTramp(143)
  202. PhysDevExtTramp(144)
  203. PhysDevExtTramp(145)
  204. PhysDevExtTramp(146)
  205. PhysDevExtTramp(147)
  206. PhysDevExtTramp(148)
  207. PhysDevExtTramp(149)
  208. PhysDevExtTramp(150)
  209. PhysDevExtTramp(151)
  210. PhysDevExtTramp(152)
  211. PhysDevExtTramp(153)
  212. PhysDevExtTramp(154)
  213. PhysDevExtTramp(155)
  214. PhysDevExtTramp(156)
  215. PhysDevExtTramp(157)
  216. PhysDevExtTramp(158)
  217. PhysDevExtTramp(159)
  218. PhysDevExtTramp(160)
  219. PhysDevExtTramp(161)
  220. PhysDevExtTramp(162)
  221. PhysDevExtTramp(163)
  222. PhysDevExtTramp(164)
  223. PhysDevExtTramp(165)
  224. PhysDevExtTramp(166)
  225. PhysDevExtTramp(167)
  226. PhysDevExtTramp(168)
  227. PhysDevExtTramp(169)
  228. PhysDevExtTramp(170)
  229. PhysDevExtTramp(171)
  230. PhysDevExtTramp(172)
  231. PhysDevExtTramp(173)
  232. PhysDevExtTramp(174)
  233. PhysDevExtTramp(175)
  234. PhysDevExtTramp(176)
  235. PhysDevExtTramp(177)
  236. PhysDevExtTramp(178)
  237. PhysDevExtTramp(179)
  238. PhysDevExtTramp(180)
  239. PhysDevExtTramp(181)
  240. PhysDevExtTramp(182)
  241. PhysDevExtTramp(183)
  242. PhysDevExtTramp(184)
  243. PhysDevExtTramp(185)
  244. PhysDevExtTramp(186)
  245. PhysDevExtTramp(187)
  246. PhysDevExtTramp(188)
  247. PhysDevExtTramp(189)
  248. PhysDevExtTramp(190)
  249. PhysDevExtTramp(191)
  250. PhysDevExtTramp(192)
  251. PhysDevExtTramp(193)
  252. PhysDevExtTramp(194)
  253. PhysDevExtTramp(195)
  254. PhysDevExtTramp(196)
  255. PhysDevExtTramp(197)
  256. PhysDevExtTramp(198)
  257. PhysDevExtTramp(199)
  258. PhysDevExtTramp(200)
  259. PhysDevExtTramp(201)
  260. PhysDevExtTramp(202)
  261. PhysDevExtTramp(203)
  262. PhysDevExtTramp(204)
  263. PhysDevExtTramp(205)
  264. PhysDevExtTramp(206)
  265. PhysDevExtTramp(207)
  266. PhysDevExtTramp(208)
  267. PhysDevExtTramp(209)
  268. PhysDevExtTramp(210)
  269. PhysDevExtTramp(211)
  270. PhysDevExtTramp(212)
  271. PhysDevExtTramp(213)
  272. PhysDevExtTramp(214)
  273. PhysDevExtTramp(215)
  274. PhysDevExtTramp(216)
  275. PhysDevExtTramp(217)
  276. PhysDevExtTramp(218)
  277. PhysDevExtTramp(219)
  278. PhysDevExtTramp(220)
  279. PhysDevExtTramp(221)
  280. PhysDevExtTramp(222)
  281. PhysDevExtTramp(223)
  282. PhysDevExtTramp(224)
  283. PhysDevExtTramp(225)
  284. PhysDevExtTramp(226)
  285. PhysDevExtTramp(227)
  286. PhysDevExtTramp(228)
  287. PhysDevExtTramp(229)
  288. PhysDevExtTramp(230)
  289. PhysDevExtTramp(231)
  290. PhysDevExtTramp(232)
  291. PhysDevExtTramp(233)
  292. PhysDevExtTramp(234)
  293. PhysDevExtTramp(235)
  294. PhysDevExtTramp(236)
  295. PhysDevExtTramp(237)
  296. PhysDevExtTramp(238)
  297. PhysDevExtTramp(239)
  298. PhysDevExtTramp(240)
  299. PhysDevExtTramp(241)
  300. PhysDevExtTramp(242)
  301. PhysDevExtTramp(243)
  302. PhysDevExtTramp(244)
  303. PhysDevExtTramp(245)
  304. PhysDevExtTramp(246)
  305. PhysDevExtTramp(247)
  306. PhysDevExtTramp(248)
  307. PhysDevExtTramp(249)
  308. // Instantiations of the terminator
  309. PhysDevExtTermin(0)
  310. PhysDevExtTermin(1)
  311. PhysDevExtTermin(2)
  312. PhysDevExtTermin(3)
  313. PhysDevExtTermin(4)
  314. PhysDevExtTermin(5)
  315. PhysDevExtTermin(6)
  316. PhysDevExtTermin(7)
  317. PhysDevExtTermin(8)
  318. PhysDevExtTermin(9)
  319. PhysDevExtTermin(10)
  320. PhysDevExtTermin(11)
  321. PhysDevExtTermin(12)
  322. PhysDevExtTermin(13)
  323. PhysDevExtTermin(14)
  324. PhysDevExtTermin(15)
  325. PhysDevExtTermin(16)
  326. PhysDevExtTermin(17)
  327. PhysDevExtTermin(18)
  328. PhysDevExtTermin(19)
  329. PhysDevExtTermin(20)
  330. PhysDevExtTermin(21)
  331. PhysDevExtTermin(22)
  332. PhysDevExtTermin(23)
  333. PhysDevExtTermin(24)
  334. PhysDevExtTermin(25)
  335. PhysDevExtTermin(26)
  336. PhysDevExtTermin(27)
  337. PhysDevExtTermin(28)
  338. PhysDevExtTermin(29)
  339. PhysDevExtTermin(30)
  340. PhysDevExtTermin(31)
  341. PhysDevExtTermin(32)
  342. PhysDevExtTermin(33)
  343. PhysDevExtTermin(34)
  344. PhysDevExtTermin(35)
  345. PhysDevExtTermin(36)
  346. PhysDevExtTermin(37)
  347. PhysDevExtTermin(38)
  348. PhysDevExtTermin(39)
  349. PhysDevExtTermin(40)
  350. PhysDevExtTermin(41)
  351. PhysDevExtTermin(42)
  352. PhysDevExtTermin(43)
  353. PhysDevExtTermin(44)
  354. PhysDevExtTermin(45)
  355. PhysDevExtTermin(46)
  356. PhysDevExtTermin(47)
  357. PhysDevExtTermin(48)
  358. PhysDevExtTermin(49)
  359. PhysDevExtTermin(50)
  360. PhysDevExtTermin(51)
  361. PhysDevExtTermin(52)
  362. PhysDevExtTermin(53)
  363. PhysDevExtTermin(54)
  364. PhysDevExtTermin(55)
  365. PhysDevExtTermin(56)
  366. PhysDevExtTermin(57)
  367. PhysDevExtTermin(58)
  368. PhysDevExtTermin(59)
  369. PhysDevExtTermin(60)
  370. PhysDevExtTermin(61)
  371. PhysDevExtTermin(62)
  372. PhysDevExtTermin(63)
  373. PhysDevExtTermin(64)
  374. PhysDevExtTermin(65)
  375. PhysDevExtTermin(66)
  376. PhysDevExtTermin(67)
  377. PhysDevExtTermin(68)
  378. PhysDevExtTermin(69)
  379. PhysDevExtTermin(70)
  380. PhysDevExtTermin(71)
  381. PhysDevExtTermin(72)
  382. PhysDevExtTermin(73)
  383. PhysDevExtTermin(74)
  384. PhysDevExtTermin(75)
  385. PhysDevExtTermin(76)
  386. PhysDevExtTermin(77)
  387. PhysDevExtTermin(78)
  388. PhysDevExtTermin(79)
  389. PhysDevExtTermin(80)
  390. PhysDevExtTermin(81)
  391. PhysDevExtTermin(82)
  392. PhysDevExtTermin(83)
  393. PhysDevExtTermin(84)
  394. PhysDevExtTermin(85)
  395. PhysDevExtTermin(86)
  396. PhysDevExtTermin(87)
  397. PhysDevExtTermin(88)
  398. PhysDevExtTermin(89)
  399. PhysDevExtTermin(90)
  400. PhysDevExtTermin(91)
  401. PhysDevExtTermin(92)
  402. PhysDevExtTermin(93)
  403. PhysDevExtTermin(94)
  404. PhysDevExtTermin(95)
  405. PhysDevExtTermin(96)
  406. PhysDevExtTermin(97)
  407. PhysDevExtTermin(98)
  408. PhysDevExtTermin(99)
  409. PhysDevExtTermin(100)
  410. PhysDevExtTermin(101)
  411. PhysDevExtTermin(102)
  412. PhysDevExtTermin(103)
  413. PhysDevExtTermin(104)
  414. PhysDevExtTermin(105)
  415. PhysDevExtTermin(106)
  416. PhysDevExtTermin(107)
  417. PhysDevExtTermin(108)
  418. PhysDevExtTermin(109)
  419. PhysDevExtTermin(110)
  420. PhysDevExtTermin(111)
  421. PhysDevExtTermin(112)
  422. PhysDevExtTermin(113)
  423. PhysDevExtTermin(114)
  424. PhysDevExtTermin(115)
  425. PhysDevExtTermin(116)
  426. PhysDevExtTermin(117)
  427. PhysDevExtTermin(118)
  428. PhysDevExtTermin(119)
  429. PhysDevExtTermin(120)
  430. PhysDevExtTermin(121)
  431. PhysDevExtTermin(122)
  432. PhysDevExtTermin(123)
  433. PhysDevExtTermin(124)
  434. PhysDevExtTermin(125)
  435. PhysDevExtTermin(126)
  436. PhysDevExtTermin(127)
  437. PhysDevExtTermin(128)
  438. PhysDevExtTermin(129)
  439. PhysDevExtTermin(130)
  440. PhysDevExtTermin(131)
  441. PhysDevExtTermin(132)
  442. PhysDevExtTermin(133)
  443. PhysDevExtTermin(134)
  444. PhysDevExtTermin(135)
  445. PhysDevExtTermin(136)
  446. PhysDevExtTermin(137)
  447. PhysDevExtTermin(138)
  448. PhysDevExtTermin(139)
  449. PhysDevExtTermin(140)
  450. PhysDevExtTermin(141)
  451. PhysDevExtTermin(142)
  452. PhysDevExtTermin(143)
  453. PhysDevExtTermin(144)
  454. PhysDevExtTermin(145)
  455. PhysDevExtTermin(146)
  456. PhysDevExtTermin(147)
  457. PhysDevExtTermin(148)
  458. PhysDevExtTermin(149)
  459. PhysDevExtTermin(150)
  460. PhysDevExtTermin(151)
  461. PhysDevExtTermin(152)
  462. PhysDevExtTermin(153)
  463. PhysDevExtTermin(154)
  464. PhysDevExtTermin(155)
  465. PhysDevExtTermin(156)
  466. PhysDevExtTermin(157)
  467. PhysDevExtTermin(158)
  468. PhysDevExtTermin(159)
  469. PhysDevExtTermin(160)
  470. PhysDevExtTermin(161)
  471. PhysDevExtTermin(162)
  472. PhysDevExtTermin(163)
  473. PhysDevExtTermin(164)
  474. PhysDevExtTermin(165)
  475. PhysDevExtTermin(166)
  476. PhysDevExtTermin(167)
  477. PhysDevExtTermin(168)
  478. PhysDevExtTermin(169)
  479. PhysDevExtTermin(170)
  480. PhysDevExtTermin(171)
  481. PhysDevExtTermin(172)
  482. PhysDevExtTermin(173)
  483. PhysDevExtTermin(174)
  484. PhysDevExtTermin(175)
  485. PhysDevExtTermin(176)
  486. PhysDevExtTermin(177)
  487. PhysDevExtTermin(178)
  488. PhysDevExtTermin(179)
  489. PhysDevExtTermin(180)
  490. PhysDevExtTermin(181)
  491. PhysDevExtTermin(182)
  492. PhysDevExtTermin(183)
  493. PhysDevExtTermin(184)
  494. PhysDevExtTermin(185)
  495. PhysDevExtTermin(186)
  496. PhysDevExtTermin(187)
  497. PhysDevExtTermin(188)
  498. PhysDevExtTermin(189)
  499. PhysDevExtTermin(190)
  500. PhysDevExtTermin(191)
  501. PhysDevExtTermin(192)
  502. PhysDevExtTermin(193)
  503. PhysDevExtTermin(194)
  504. PhysDevExtTermin(195)
  505. PhysDevExtTermin(196)
  506. PhysDevExtTermin(197)
  507. PhysDevExtTermin(198)
  508. PhysDevExtTermin(199)
  509. PhysDevExtTermin(200)
  510. PhysDevExtTermin(201)
  511. PhysDevExtTermin(202)
  512. PhysDevExtTermin(203)
  513. PhysDevExtTermin(204)
  514. PhysDevExtTermin(205)
  515. PhysDevExtTermin(206)
  516. PhysDevExtTermin(207)
  517. PhysDevExtTermin(208)
  518. PhysDevExtTermin(209)
  519. PhysDevExtTermin(210)
  520. PhysDevExtTermin(211)
  521. PhysDevExtTermin(212)
  522. PhysDevExtTermin(213)
  523. PhysDevExtTermin(214)
  524. PhysDevExtTermin(215)
  525. PhysDevExtTermin(216)
  526. PhysDevExtTermin(217)
  527. PhysDevExtTermin(218)
  528. PhysDevExtTermin(219)
  529. PhysDevExtTermin(220)
  530. PhysDevExtTermin(221)
  531. PhysDevExtTermin(222)
  532. PhysDevExtTermin(223)
  533. PhysDevExtTermin(224)
  534. PhysDevExtTermin(225)
  535. PhysDevExtTermin(226)
  536. PhysDevExtTermin(227)
  537. PhysDevExtTermin(228)
  538. PhysDevExtTermin(229)
  539. PhysDevExtTermin(230)
  540. PhysDevExtTermin(231)
  541. PhysDevExtTermin(232)
  542. PhysDevExtTermin(233)
  543. PhysDevExtTermin(234)
  544. PhysDevExtTermin(235)
  545. PhysDevExtTermin(236)
  546. PhysDevExtTermin(237)
  547. PhysDevExtTermin(238)
  548. PhysDevExtTermin(239)
  549. PhysDevExtTermin(240)
  550. PhysDevExtTermin(241)
  551. PhysDevExtTermin(242)
  552. PhysDevExtTermin(243)
  553. PhysDevExtTermin(244)
  554. PhysDevExtTermin(245)
  555. PhysDevExtTermin(246)
  556. PhysDevExtTermin(247)
  557. PhysDevExtTermin(248)
  558. PhysDevExtTermin(249)
  559. // Instantiations of the device trampoline
  560. DevExtTramp(0)
  561. DevExtTramp(1)
  562. DevExtTramp(2)
  563. DevExtTramp(3)
  564. DevExtTramp(4)
  565. DevExtTramp(5)
  566. DevExtTramp(6)
  567. DevExtTramp(7)
  568. DevExtTramp(8)
  569. DevExtTramp(9)
  570. DevExtTramp(10)
  571. DevExtTramp(11)
  572. DevExtTramp(12)
  573. DevExtTramp(13)
  574. DevExtTramp(14)
  575. DevExtTramp(15)
  576. DevExtTramp(16)
  577. DevExtTramp(17)
  578. DevExtTramp(18)
  579. DevExtTramp(19)
  580. DevExtTramp(20)
  581. DevExtTramp(21)
  582. DevExtTramp(22)
  583. DevExtTramp(23)
  584. DevExtTramp(24)
  585. DevExtTramp(25)
  586. DevExtTramp(26)
  587. DevExtTramp(27)
  588. DevExtTramp(28)
  589. DevExtTramp(29)
  590. DevExtTramp(30)
  591. DevExtTramp(31)
  592. DevExtTramp(32)
  593. DevExtTramp(33)
  594. DevExtTramp(34)
  595. DevExtTramp(35)
  596. DevExtTramp(36)
  597. DevExtTramp(37)
  598. DevExtTramp(38)
  599. DevExtTramp(39)
  600. DevExtTramp(40)
  601. DevExtTramp(41)
  602. DevExtTramp(42)
  603. DevExtTramp(43)
  604. DevExtTramp(44)
  605. DevExtTramp(45)
  606. DevExtTramp(46)
  607. DevExtTramp(47)
  608. DevExtTramp(48)
  609. DevExtTramp(49)
  610. DevExtTramp(50)
  611. DevExtTramp(51)
  612. DevExtTramp(52)
  613. DevExtTramp(53)
  614. DevExtTramp(54)
  615. DevExtTramp(55)
  616. DevExtTramp(56)
  617. DevExtTramp(57)
  618. DevExtTramp(58)
  619. DevExtTramp(59)
  620. DevExtTramp(60)
  621. DevExtTramp(61)
  622. DevExtTramp(62)
  623. DevExtTramp(63)
  624. DevExtTramp(64)
  625. DevExtTramp(65)
  626. DevExtTramp(66)
  627. DevExtTramp(67)
  628. DevExtTramp(68)
  629. DevExtTramp(69)
  630. DevExtTramp(70)
  631. DevExtTramp(71)
  632. DevExtTramp(72)
  633. DevExtTramp(73)
  634. DevExtTramp(74)
  635. DevExtTramp(75)
  636. DevExtTramp(76)
  637. DevExtTramp(77)
  638. DevExtTramp(78)
  639. DevExtTramp(79)
  640. DevExtTramp(80)
  641. DevExtTramp(81)
  642. DevExtTramp(82)
  643. DevExtTramp(83)
  644. DevExtTramp(84)
  645. DevExtTramp(85)
  646. DevExtTramp(86)
  647. DevExtTramp(87)
  648. DevExtTramp(88)
  649. DevExtTramp(89)
  650. DevExtTramp(90)
  651. DevExtTramp(91)
  652. DevExtTramp(92)
  653. DevExtTramp(93)
  654. DevExtTramp(94)
  655. DevExtTramp(95)
  656. DevExtTramp(96)
  657. DevExtTramp(97)
  658. DevExtTramp(98)
  659. DevExtTramp(99)
  660. DevExtTramp(100)
  661. DevExtTramp(101)
  662. DevExtTramp(102)
  663. DevExtTramp(103)
  664. DevExtTramp(104)
  665. DevExtTramp(105)
  666. DevExtTramp(106)
  667. DevExtTramp(107)
  668. DevExtTramp(108)
  669. DevExtTramp(109)
  670. DevExtTramp(110)
  671. DevExtTramp(111)
  672. DevExtTramp(112)
  673. DevExtTramp(113)
  674. DevExtTramp(114)
  675. DevExtTramp(115)
  676. DevExtTramp(116)
  677. DevExtTramp(117)
  678. DevExtTramp(118)
  679. DevExtTramp(119)
  680. DevExtTramp(120)
  681. DevExtTramp(121)
  682. DevExtTramp(122)
  683. DevExtTramp(123)
  684. DevExtTramp(124)
  685. DevExtTramp(125)
  686. DevExtTramp(126)
  687. DevExtTramp(127)
  688. DevExtTramp(128)
  689. DevExtTramp(129)
  690. DevExtTramp(130)
  691. DevExtTramp(131)
  692. DevExtTramp(132)
  693. DevExtTramp(133)
  694. DevExtTramp(134)
  695. DevExtTramp(135)
  696. DevExtTramp(136)
  697. DevExtTramp(137)
  698. DevExtTramp(138)
  699. DevExtTramp(139)
  700. DevExtTramp(140)
  701. DevExtTramp(141)
  702. DevExtTramp(142)
  703. DevExtTramp(143)
  704. DevExtTramp(144)
  705. DevExtTramp(145)
  706. DevExtTramp(146)
  707. DevExtTramp(147)
  708. DevExtTramp(148)
  709. DevExtTramp(149)
  710. DevExtTramp(150)
  711. DevExtTramp(151)
  712. DevExtTramp(152)
  713. DevExtTramp(153)
  714. DevExtTramp(154)
  715. DevExtTramp(155)
  716. DevExtTramp(156)
  717. DevExtTramp(157)
  718. DevExtTramp(158)
  719. DevExtTramp(159)
  720. DevExtTramp(160)
  721. DevExtTramp(161)
  722. DevExtTramp(162)
  723. DevExtTramp(163)
  724. DevExtTramp(164)
  725. DevExtTramp(165)
  726. DevExtTramp(166)
  727. DevExtTramp(167)
  728. DevExtTramp(168)
  729. DevExtTramp(169)
  730. DevExtTramp(170)
  731. DevExtTramp(171)
  732. DevExtTramp(172)
  733. DevExtTramp(173)
  734. DevExtTramp(174)
  735. DevExtTramp(175)
  736. DevExtTramp(176)
  737. DevExtTramp(177)
  738. DevExtTramp(178)
  739. DevExtTramp(179)
  740. DevExtTramp(180)
  741. DevExtTramp(181)
  742. DevExtTramp(182)
  743. DevExtTramp(183)
  744. DevExtTramp(184)
  745. DevExtTramp(185)
  746. DevExtTramp(186)
  747. DevExtTramp(187)
  748. DevExtTramp(188)
  749. DevExtTramp(189)
  750. DevExtTramp(190)
  751. DevExtTramp(191)
  752. DevExtTramp(192)
  753. DevExtTramp(193)
  754. DevExtTramp(194)
  755. DevExtTramp(195)
  756. DevExtTramp(196)
  757. DevExtTramp(197)
  758. DevExtTramp(198)
  759. DevExtTramp(199)
  760. DevExtTramp(200)
  761. DevExtTramp(201)
  762. DevExtTramp(202)
  763. DevExtTramp(203)
  764. DevExtTramp(204)
  765. DevExtTramp(205)
  766. DevExtTramp(206)
  767. DevExtTramp(207)
  768. DevExtTramp(208)
  769. DevExtTramp(209)
  770. DevExtTramp(210)
  771. DevExtTramp(211)
  772. DevExtTramp(212)
  773. DevExtTramp(213)
  774. DevExtTramp(214)
  775. DevExtTramp(215)
  776. DevExtTramp(216)
  777. DevExtTramp(217)
  778. DevExtTramp(218)
  779. DevExtTramp(219)
  780. DevExtTramp(220)
  781. DevExtTramp(221)
  782. DevExtTramp(222)
  783. DevExtTramp(223)
  784. DevExtTramp(224)
  785. DevExtTramp(225)
  786. DevExtTramp(226)
  787. DevExtTramp(227)
  788. DevExtTramp(228)
  789. DevExtTramp(229)
  790. DevExtTramp(230)
  791. DevExtTramp(231)
  792. DevExtTramp(232)
  793. DevExtTramp(233)
  794. DevExtTramp(234)
  795. DevExtTramp(235)
  796. DevExtTramp(236)
  797. DevExtTramp(237)
  798. DevExtTramp(238)
  799. DevExtTramp(239)
  800. DevExtTramp(240)
  801. DevExtTramp(241)
  802. DevExtTramp(242)
  803. DevExtTramp(243)
  804. DevExtTramp(244)
  805. DevExtTramp(245)
  806. DevExtTramp(246)
  807. DevExtTramp(247)
  808. DevExtTramp(248)
  809. DevExtTramp(249)