1 /* |
1 /* |
2 * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright (c) 2016, 2017 SAP SE. All rights reserved. |
3 * Copyright (c) 2016, 2019 SAP SE. All rights reserved. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * |
5 * |
6 * This code is free software; you can redistribute it and/or modify it |
6 * This code is free software; you can redistribute it and/or modify it |
7 * under the terms of the GNU General Public License version 2 only, as |
7 * under the terms of the GNU General Public License version 2 only, as |
8 * published by the Free Software Foundation. |
8 * published by the Free Software Foundation. |
1529 //----------------------------------------------- |
1529 //----------------------------------------------- |
1530 // instruction property getter methods |
1530 // instruction property getter methods |
1531 //----------------------------------------------- |
1531 //----------------------------------------------- |
1532 |
1532 |
1533 // Calculate length of instruction. |
1533 // Calculate length of instruction. |
1534 static int instr_len(unsigned char *instr); |
1534 static unsigned int instr_len(unsigned char *instr); |
1535 |
1535 |
1536 // Longest instructions are 6 bytes on z/Architecture. |
1536 // Longest instructions are 6 bytes on z/Architecture. |
1537 static int instr_maxlen() { return 6; } |
1537 static unsigned int instr_maxlen() { return 6; } |
1538 |
1538 |
1539 // Average instruction is 4 bytes on z/Architecture (just a guess). |
1539 // Average instruction is 4 bytes on z/Architecture (just a guess). |
1540 static int instr_avglen() { return 4; } |
1540 static unsigned int instr_avglen() { return 4; } |
1541 |
1541 |
1542 // Shortest instructions are 2 bytes on z/Architecture. |
1542 // Shortest instructions are 2 bytes on z/Architecture. |
1543 static int instr_minlen() { return 2; } |
1543 static unsigned int instr_minlen() { return 2; } |
1544 |
1544 |
1545 // Move instruction at pc right-justified into passed long int. |
1545 // Move instruction at pc right-justified into passed long int. |
1546 // Return instr len in bytes as function result. |
1546 // Return instr len in bytes as function result. |
1547 static unsigned int get_instruction(unsigned char *pc, unsigned long *instr); |
1547 static unsigned int get_instruction(unsigned char *pc, unsigned long *instr); |
1548 |
1548 |