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