MCPcopy Create free account

hub / github.com/eigenform/perfect / functions

Functions580 in github.com/eigenform/perfect

Methoddefault_zen2
()
perfect/src/harness/config.rs:102
Methoddefault_zen3
()
perfect/src/harness/config.rs:120
Methoddesc
(&self)
perfect/src/experiments.rs:41
Functiondisas
( buf: &ExecutableBuffer, offset: AssemblyOffset, max_inst: Option<usize>, )
perfect/src/util.rs:423
Methoddisas
Print disassembly for the entire harness.
perfect/src/harness.rs:126
Methoddrop
(&mut self)
perfect/src/asm.rs:401
Methoddump_gpr
(mut self, x: bool)
perfect/src/harness/config.rs:174
Methoddynamic_label
(&mut self, id: DynamicLabel)
perfect/src/asm.rs:464
Methoddynamic_relocation
(&mut self, id: DynamicLabel, target_offset: isize, field_offset: u8, ref_offset: u8, kind:
perfect/src/asm.rs:484
Methodefl
(&self)
perfect/src/harness/signal.rs:51
Methodemit
(&self, f: &mut X64Assembler)
perfect/src/ir.rs:184
Methodemit
( opts: MispredictedReturnOptions<I>, input: I, user_fn: fn(&mut X64Assembler, I),
perfect/src/experiments/template.rs:381
Methodemit
Create a [PerfectHarness] using this configuration.
perfect/src/harness/config.rs:233
Methodemit_add_r64_imm
(&mut self, dst: u8, imm: i32)
perfect/src/asm.rs:619
Methodemit_add_r64_r64
(&mut self, dst: u8, src: u8)
perfect/src/asm.rs:592
Methodemit_and_r64_imm
(&mut self, dst: u8, imm: i32)
perfect/src/asm.rs:625
Methodemit_and_r64_r64
(&mut self, dst: u8, src: u8)
perfect/src/asm.rs:598
Methodemit_aperf_nofence_end
(&mut self, scratch: u8, result: u8)
perfect/src/asm.rs:762
Methodemit_aperf_nofence_start
(&mut self, scratch: u8)
perfect/src/asm.rs:754
Methodemit_attacker
Emit the 'attacker' function.
perfect-zen2/src/bin/flush-reload.rs:189
Methodemit_attacker_target
Emit the "attacker" target function.
perfect-zen2/src/bin/btb.rs:293
Methodemit_body
(f: &mut X64Assembler, i: usize)
perfect-tremont/src/bin/rename.rs:9
Methodemit_call_indirect
(&mut self, reg: u8)
perfect/src/asm.rs:639
Methodemit_call_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:663
Methodemit_clflush_base
(&mut self, base: u8)
perfect/src/asm.rs:561
Methodemit_clflush_base_imm
(&mut self, base: u8, imm: i32)
perfect/src/asm.rs:564
Methodemit_cmp_r64_imm
(&mut self, dst: u8, imm: i32)
perfect/src/asm.rs:616
Methodemit_dec_r64
(&mut self, dst: u8)
perfect/src/asm.rs:608
Methodemit_dis_pad_i1f4
(&mut self)
perfect/src/asm.rs:700
Methodemit_dis_pad_i5
(&mut self)
perfect/src/asm.rs:697
Methodemit_div
Emitter measuring a DIV instruction
perfect-zen3/src/bin/div.rs:181
Methodemit_floor
Emitter measuring the APERF floor
perfect-zen3/src/bin/div.rs:202
Methodemit_gadget_conditional_direct
(f: &mut X64Assembler)
perfect-zen2/src/bin/zenbleed.rs:436
Methodemit_gadget_indirect
( f: &mut X64Assembler, opts: MispredictedReturnOptions<I>, input: I, user_fn:
perfect/src/experiments/template.rs:194
Methodemit_gadget_ret
( f: &mut X64Assembler, opts: MispredictedReturnOptions<I>, input: I, user_fn:
perfect/src/experiments/template.rs:278
Methodemit_gadget_sls_direct
(f: &mut X64Assembler)
perfect-zen2/src/bin/zenbleed.rs:408
Methodemit_gadget_sls_indirect
(f: &mut X64Assembler)
perfect-zen2/src/bin/zenbleed.rs:373
Methodemit_handler
Emit a signal handler (used for catching exceptions).
perfect/src/harness.rs:131
Methodemit_imm
Emit the test [with immediate addressing]
perfect-zen2/src/bin/stlf.rs:168
Methodemit_inc_r64
(&mut self, dst: u8)
perfect/src/asm.rs:611
Methodemit_indir_brn
Emit some kind of indirect branch at virtual address `addr`. NOTE: We're using this to emit both the victim/attacker branches.
perfect-zen2/src/bin/btb.rs:215
Methodemit_instr
(f: &mut X64Assembler, input: [u8; S])
perfect-zen2/src/bin/specdec.rs:151
Methodemit_je_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:645
Methodemit_je_nopad
(brn_addr: usize, tgt_addr: usize)
perfect/src/experiments/branch.rs:109
Methodemit_jge_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:657
Methodemit_jle_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:660
Methodemit_jmp_indirect
(&mut self, reg: u8)
perfect/src/asm.rs:636
Methodemit_jmp_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:642
Methodemit_jmp_rel32
(&mut self, tgt: usize)
perfect/src/asm.rs:388
Methodemit_jmp_sled
(&mut self, n: usize)
perfect/src/asm.rs:687
Methodemit_jne_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:648
Methodemit_jnz_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:654
Methodemit_jz_label
(&mut self, lab: DynamicLabel)
perfect/src/asm.rs:651
Methodemit_lea_r64_label
(&mut self, dst: u8, lab: DynamicLabel)
perfect/src/asm.rs:667
Methodemit_leak_probe_1
Fill the vector PRF with probe values. Notes ===== These notes are from experiments with the following parameters: - No SMT, booting with 'isolcpus=
perfect-zen2/src/bin/zenbleed.rs:265
Methodemit_leak_spec_rax
Speculatively leak RAX into the vector PRF. > *This place is not a place of honor.* \ > *No highly esteemed deed is commemorated here.* \ > *What is
perfect-zen2/src/bin/zenbleed.rs:298
Methodemit_load_r64_base
(&mut self, dst: u8, base: u8)
perfect/src/asm.rs:569
Methodemit_load_r64_base_imm
(&mut self, dst: u8, base: u8, imm: i32)
perfect/src/asm.rs:572
Methodemit_measure
Emit the tested loop. When calling emitted code, be aware that: - RSI the number of loop iterations - RDI is a pointer to an array for storing measu
perfect-zen2/src/bin/opcache.rs:136
Methodemit_measure
Emit the experiment. Input arguments to this function during runtime are: - `RDI`, virtual address A - `RSI`, virtual address B
perfect-zen2/src/bin/dcache.rs:347
Methodemit_measure
Emit the function used to measure the colliding load.
perfect-zen3/src/bin/collide-probe.rs:229
Methodemit_measure_floor
()
perfect-zen3/src/bin/collide-probe.rs:239
Methodemit_mfence
(&mut self)
perfect/src/asm.rs:559
Methodemit_mov_r64_i32
(&mut self, dst: u8, imm: i32)
perfect/src/asm.rs:585
Methodemit_mov_r64_i64
(&mut self, dst: u8, qword: i64)
perfect/src/asm.rs:588
Methodemit_mov_r64_r64
(&mut self, dst: u8, src: u8)
perfect/src/asm.rs:582
Methodemit_or_r64_imm
(&mut self, dst: u8, imm: i32)
perfect/src/asm.rs:628
Methodemit_or_r64_r64
(&mut self, dst: u8, src: u8)
perfect/src/asm.rs:601
Methodemit_probe
Emit the code we want to measure with the PMCs
perfect-zen2/src/bin/prefetch.rs:108
Methodemit_probe
Emit the code used to measure the PREFETCH instruction. The emitted function takes the target virtual address in RDI and returns the difference betwe
perfect-zen2/src/bin/entrybleed.rs:132
Methodemit_probe
Emit a gadget for timing a single load with RDTSC (which returns the observed value in RAX).
perfect-zen2/src/bin/flush-reload.rs:60
Methodemit_random_instr
(f: &mut X64Assembler, input: [u8; SIZE])
perfect-zen2/src/bin/specdec.rs:44
Methodemit_rdpmc_end64
(&mut self, counter: i32, scratch: u8, result: u8)
perfect/src/asm.rs:844
Methodemit_rdpmc_start64
(&mut self, counter: i32, scratch: u8)
perfect/src/asm.rs:831
Methodemit_rdtsc_end
(&mut self, scratch: u8, result: u8)
perfect/src/asm.rs:717
Methodemit_rdtsc_start
(&mut self, scratch: u8)
perfect/src/asm.rs:704
Methodemit_reg
Emit the test [with base register addressing]
perfect-zen2/src/bin/stlf.rs:193
Methodemit_store_base_imm_r64
(&mut self, base: u8, imm: i32, src: u8)
perfect/src/asm.rs:578
Methodemit_store_base_r64
(&mut self, base: u8, src: u8)
perfect/src/asm.rs:575
Methodemit_sub_r64_imm
(&mut self, dst: u8, imm: i32)
perfect/src/asm.rs:622
Methodemit_sub_r64_r64
(&mut self, dst: u8, src: u8)
perfect/src/asm.rs:595
Methodemit_test
Emit the code for a particular test. FIXME: For now, the target locations are fixed. Although presumably, this doesn't actually matter here?
perfect-zen2/src/bin/btb.rs:316
Methodemit_trampoline
()
perfect-zen2/src/bin/bp.rs:163
Methodemit_victim
Emit the 'victim' function and the address of the victim's branch.
perfect-zen2/src/bin/flush-reload.rs:151
Methodemit_victim_target
Emit the "victim" target function.
perfect-zen2/src/bin/btb.rs:277
Methodemit_victim_v1
Variation 1. Two paths with different loads to different addresses
perfect-zen2/src/bin/flush-reload.rs:82
Methodemit_victim_v2
Variation 2. Two paths leading to the same load, but different addresses [depending on different registers]
perfect-zen2/src/bin/flush-reload.rs:108
Methodemit_victim_v3
Variation 3. Two paths leading to the same load, but different addresses [depending on another load eligible for renaming/forwarding]
perfect-zen2/src/bin/flush-reload.rs:128
Methodemit_xor_r64_r64
(&mut self, dst: u8, src: u8)
perfect/src/asm.rs:604
Methodenable_handler
(&mut self)
perfect/src/harness.rs:153
Methoderr
(&self)
perfect/src/harness/signal.rs:54
Methodevent_id
Return the PMC event ID associated with these results.
perfect/src/stats.rs:148
Methodevent_mask
Return the PMC event mask associated with these results.
perfect/src/stats.rs:150
Methodexclusive
(&self)
perfect/src/util/pagemap.rs:10
Methodfd
Return the raw file descriptor.
perfect-zen3/src/lib.rs:37
Methodfirst_mut
(&mut self)
perfect/src/ir/branch.rs:88
Functionflush_btb
()
perfect/src/util.rs:534
Methodflush_btb
(mut self, x: usize)
perfect/src/harness/config.rs:214
Methodflush_cache
()
perfect-zen2/src/bin/opcache.rs:194
Methodflush_probe
()
perfect-zen2/src/bin/btb.rs:203
← previousnext →201–300 of 580, ranked by callers