package bap-primus-powerpc
Performs the PowerPC target specific setup
Install
Dune Dependency
Authors
Maintainers
Sources
v2.3.0.tar.gz
sha256=a6e80853aaaa26b7ca564d9878891d7146ec1c83852541387c1bba1ad036b8ea
md5=13f2cb1e3b9d90348852252fb0f2d09f
doc/src/bap-plugin-primus_powerpc/primus_powerpc_main.ml.html
Source file primus_powerpc_main.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
open Core_kernel open Bap.Std open Bap_primus.Std include Self() let () = Config.manpage [ `S "DESCRIPTION"; `P "Performs the PowerPC target specific setup. So far it just initializes all flags and CTR register to zero." ] let () = Config.when_ready @@ fun _ -> let module Component(Machine : Primus.Machine.S) = struct open Machine.Syntax module Env = Primus.Env.Make(Machine) module Value = Primus.Value.Make(Machine) let initialize_regs regs = let zero = Primus.Generator.static 0 in Machine.List.iter regs ~f:(fun (r,s) -> let r = Var.create r (Type.imm s) in Env.add r zero) let init32 vars = initialize_regs vars let init () = Machine.get () >>= fun proj -> match Project.arch proj with | `ppc -> let regs = [ "CTR", 32; "SO", 1; "CA", 1; "OV", 1; "CR0LT", 1; "CR0GT", 1; "CR0EQ", 1; "CA32", 1; "OV32", 1; ] in init32 regs | _ -> Machine.return () end in Primus.Machine.add_component (module Component) [@warning "-D"]; Primus.Components.register_generic "powerpc-init" (module Component) ~package:"bap" ~desc:"Initializes PPC registers."
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>