Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file primus_powerpc_main.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051openCore_kernelopenBap.StdopenBap_primus.StdincludeSelf()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_->letmoduleComponent(Machine:Primus.Machine.S)=structopenMachine.SyntaxmoduleEnv=Primus.Env.Make(Machine)moduleValue=Primus.Value.Make(Machine)letinitialize_regsregs=letzero=Primus.Generator.static0inMachine.List.iterregs~f:(fun(r,s)->letr=Var.creater(Type.imms)inEnv.addrzero)letinit32vars=initialize_regsvarsletinit()=Machine.get()>>=funproj->matchProject.archprojwith|`ppc->letregs=["CTR",32;"SO",1;"CA",1;"OV",1;"CR0LT",1;"CR0GT",1;"CR0EQ",1;"CA32",1;"OV32",1;]ininit32regs|_->Machine.return()endinPrimus.Machine.add_component(moduleComponent)[@warning"-D"];Primus.Components.register_generic"powerpc-init"(moduleComponent)~package:"bap"~desc:"Initializes PPC registers."