| /* |
| * Test the known dependencies for facilities |
| * |
| * Copyright 2019 IBM Corp. |
| * |
| * Authors: |
| * Christian Borntraeger <borntraeger@de.ibm.com> |
| * |
| * This code is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU Library General Public License version 2. |
| */ |
| |
| #include <asm/facility.h> |
| |
| static int dep[][2] = { |
| /* from SA22-7832-11 4-98 facility indications */ |
| { 4, 3 }, |
| { 5, 3 }, |
| { 5, 4 }, |
| { 19, 18 }, |
| { 37, 42 }, |
| { 43, 42 }, |
| { 73, 49 }, |
| { 134, 129 }, |
| { 135, 129 }, |
| { 139, 25 }, |
| { 139, 28 }, |
| { 146, 76 }, |
| /* indirectly documented in description */ |
| { 78, 8 }, /* EDAT */ |
| /* new dependencies from gen15 */ |
| { 61, 45 }, |
| { 148, 129 }, |
| { 148, 135 }, |
| { 152, 129 }, |
| { 152, 134 }, |
| { 155, 76 }, |
| { 155, 77 }, |
| }; |
| |
| int main(void) |
| { |
| int i; |
| |
| report_prefix_push("cpumodel"); |
| |
| report_prefix_push("dependency"); |
| for (i = 0; i < ARRAY_SIZE(dep); i++) { |
| if (test_facility(dep[i][0])) { |
| report(test_facility(dep[i][1]), "%d implies %d", |
| dep[i][0], dep[i][1]); |
| } else { |
| report_skip("facility %d not present", dep[i][0]); |
| } |
| } |
| report_prefix_pop(); |
| |
| report_prefix_pop(); |
| return report_summary(); |
| } |