User`s guide

PALcode Violation Checker 12–5
Labels
The <num> field can be used to give you more detailed information about the type of
label, as shown in Table 12–2.
For example, this label specifies a PVC label for a computed goto destination:
PVC$osf123$2000.1
12.3.1 Suppressing Error Messages for a Given Instruction
In some cases, you may decide that your PALcode can violate a PALcode restriction
without harming your code. For these cases, you should use labels to shut off the
normal PVC error checking by following these steps:
1. Place a label at the address of the instruction that causes the message you want to
suppress.
2. Place the label with the <num> field set to the error number associated with the
message.
For example, during a PVC session, the following message is reported:
Checking the CODE routine, entry point 0:
***
Error executing instruction HW_MFPR R6, ICCSR at address 4 on cycle 1!!
(PVC #77) You can’t read back from the ICCSR until 3 bubbles after writing it.
***
You determine that, for this case, the HW_MFPR will not harm your code, so you
specify the following label at address 4 in your PALcode source file:
PVC$123$77:
The 123 string between the delimiters is the label_name and is ignored by PVC.
The 77 is the <num> field and specifies to PVC that, if error type 77 occurs at this
label address, then the error is not displayed.
Table 12–2 PVC Label Type
<num> Field Label Type
0–1007 Error
1008 No branch
2000–3999 Computed goto
4000 Subroutine branch