Skip to content

Commit b12ebf9

Browse files
committed
Merge remote-tracking branch
'origin/GT-3232_ghidorahrex_PowerPC_VLE_bit_generation' into patch (fixes NationalSecurityAgency#967)
2 parents 37298e9 + dba454d commit b12ebf9

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Ghidra/Processors/PowerPC/data/languages/ppc_vle.sinc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
541541
}
542542

543543
:se_btsti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=1 & RX_VLE & OIM5_VLE {
544-
tmp:$(REGISTER_SIZE) = (RX_VLE >> OIM5_VLE) & 0x1;
544+
tmp:$(REGISTER_SIZE) = (RX_VLE >> (0x1F - OIM5_VLE)) & 0x1;
545545
cr0flags(tmp);
546546
}
547547

@@ -709,13 +709,13 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
709709
}
710710

711711
:se_bclri RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=24 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
712-
tmp:$(REGISTER_SIZE) = 1 << OIM5_VLE;
712+
tmp:$(REGISTER_SIZE) = 0x80000000 >> OIM5_VLE;
713713
tmp = ~tmp;
714714
RX_VLE = RX_VLE & tmp;
715715
}
716716

717717
:se_bgeni RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=24 & BIT9_VLE=1 & RX_VLE & OIM5_VLE {
718-
RX_VLE = 1 << OIM5_VLE;
718+
RX_VLE = 0x80000000 >> OIM5_VLE;
719719
}
720720

721721
:se_bmaski RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=11 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
@@ -725,7 +725,7 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
725725
}
726726

727727
:se_bseti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
728-
tmp:$(REGISTER_SIZE) = 1 << OIM5_VLE;
728+
tmp:$(REGISTER_SIZE) = 0x80000000 >> OIM5_VLE;
729729
RX_VLE = RX_VLE | tmp;
730730
}
731731

0 commit comments

Comments
 (0)