MCPcopy Create free account

hub / github.com/eigenform/perfect / functions

Functions580 in github.com/eigenform/perfect

↓ 2 callersFunctionprint_env
()
perfect/src/bin/perfect-env.rs:102
↓ 2 callersMethodrandom_collision
Generate a random address whose micro-tag is colliding with the micro-tag for this address.
perfect-zen3/src/bin/collide-probe.rs:118
↓ 2 callersMethodread_vgpr
(&self, vgpr: VectorGpr)
perfect/src/harness/state.rs:70
↓ 2 callersMethodutag_input
Return the micro-tag input bits
perfect-zen2/src/bin/dcache.rs:43
↓ 2 callersMethodvalue
(&self)
perfect/src/util.rs:475
↓ 2 callersMethodwith_utag_input
(self, input: usize)
perfect-zen3/src/bin/collide-probe.rs:64
↓ 2 callersMethodzero_strategy_fp
(mut self, x: ZeroStrategyFp)
perfect/src/harness/config.rs:224
↓ 1 callersFunctionadd
(left: usize, right: usize)
perfect-tremont/src/lib.rs:1
↓ 1 callersMethodadd_list
Add each event in some slice to the set.
perfect/src/events.rs:108
↓ 1 callersMethodadd_padding_brn
(&mut self, brn_off: usize, tgt_off: usize)
perfect-zen2/src/bin/bp.rs:98
↓ 1 callersFunctionalign_down
(addr: usize, bits: usize)
perfect/src/experiments/branch.rs:16
↓ 1 callersMethodas_extern_fn
(&self)
perfect/src/asm.rs:181
↓ 1 callersMethodbrn_a
(&self)
perfect-zen2/src/bin/bp.rs:122
↓ 1 callersMethodbrn_b
(&self)
perfect-zen2/src/bin/bp.rs:126
↓ 1 callersMethodclear
Clear all bytes in the backing allocation and reset the state of this assembler.
perfect/src/asm.rs:337
↓ 1 callersFunctioncreate_default_events
Create the set of default events.
perfect-zen2/src/bin/pmc.rs:332
↓ 1 callersFunctiondecompose_encoding
(bytes: &[u8])
perfect-zen2/src/bin/specdec.rs:242
↓ 1 callersMethoddef_brn_a
(&mut self, brn_off: usize, tgt_off: usize)
perfect-zen2/src/bin/bp.rs:105
↓ 1 callersMethoddef_brn_b
(&mut self, brn_off: usize, tgt_off: usize)
perfect-zen2/src/bin/bp.rs:111
↓ 1 callersMethoddisas
Disassemble bytes in the backing allocation.
perfect/src/asm.rs:350
↓ 1 callersFunctiondisas_chunk
(buf: &ExecutableBuffer, start_offset: AssemblyOffset, end_offset: AssemblyOffset, )
perfect/src/util.rs:359
↓ 1 callersFunctiondisas_single
(buf: &ExecutableBuffer, offset: AssemblyOffset)
perfect/src/util.rs:329
↓ 1 callersMethoddump_vgpr
(mut self, x: bool)
perfect/src/harness/config.rs:179
↓ 1 callersMethodemit
Emit the test.
perfect-zen2/src/bin/zenbleed.rs:103
↓ 1 callersMethodemit
( prologue: Option<fn(&mut X64Assembler)>, epilogue: Option<fn(&mut X64Assembler)>,
perfect-zen2/src/bin/pmc.rs:549
↓ 1 callersMethodemit
(padding_brns: Option<usize>)
perfect-zen2/src/bin/bp-pattern.rs:76
↓ 1 callersMethodemit
(case_emitter: fn(&mut X64Assembler, usize))
perfect-zen2/src/bin/dispatch.rs:243
↓ 1 callersMethodemit
(bit: usize)
perfect-zen2/src/bin/memfile.rs:44
↓ 1 callersMethodemit
(input: usize)
perfect-zen2/src/bin/rename.rs:20
↓ 1 callersMethodemit
Emit the actual harness function during runtime. Binary Interface ================ On entry to the measured function: - RDI and RSI are passed thru
perfect/src/harness.rs:170
↓ 1 callersMethodemit_fnop_sled
(&mut self, n: usize)
perfect/src/asm.rs:676
↓ 1 callersMethodemit_jmp_byte_sled
(&mut self, n: usize)
perfect/src/asm.rs:679
↓ 1 callersMethodemit_jmp_direct
(&self, f: &mut X64AssemblerFixed)
perfect/src/ir/branch.rs:128
↓ 1 callersMethodemit_pop_nonvolatile_gprs
(&mut self)
perfect/src/asm.rs:884
↓ 1 callersMethodemit_push_nonvolatile_gprs
(&mut self)
perfect/src/asm.rs:865
↓ 1 callersMethodencode_relocs
(&mut self)
perfect/src/asm.rs:92
↓ 1 callersMethodevaluate_program
(&mut self, prog: &PerfectProg)
perfect/src/ir.rs:362
↓ 1 callersMethodexplicit_lfence
(mut self, x: bool)
perfect/src/experiments/template.rs:120
↓ 1 callersMethodfind
Return the indexes of all occurences of a particular value in the list.
perfect/src/stats.rs:65
↓ 1 callersMethodfs_name
(&self)
perfect/src/stats.rs:300
↓ 1 callersFunctiongen_random_addr
Generate an address where bits [45:32] are randomized
perfect-zen2/src/bin/bp-pattern.rs:43
↓ 1 callersMethodgenerate_collisions
Generate the set of all 256 addresses whose micro-tags are colliding with the micro-tag for this address.
perfect/src/uarch/vaddr.rs:92
↓ 1 callersMethodgenerate_collisions
Generate the set of all 256 addresses whose micro-tags are colliding with the micro-tag for this address.
perfect-zen3/src/bin/collide-probe.rs:106
↓ 1 callersFunctiongenerate_patterns_exhaustive
Create an exhaustive list of patterns for the given length.
perfect-zen2/src/bin/bp-pattern.rs:11
↓ 1 callersMethodgroup
(&self)
perfect/src/experiments/pmcdisc/group.rs:143
↓ 1 callersMethodinvd
Ask the kernel module to invalidate the L1D cache
perfect-zen3/src/lib.rs:57
↓ 1 callersMethodis_valid
Returns 'true' if this is a valid probe
perfect-zen2/src/bin/zenbleed.rs:503
↓ 1 callersMethoditer_ith_results
Return an iterator over the `i`-th set of observations for each event.
perfect/src/stats.rs:320
↓ 1 callersMethodlocal_max
Return a list of the maximum observed values across all results.
perfect/src/stats.rs:248
↓ 1 callersMethodmeasure_and_dump
(&mut self, measured_fn: MeasuredFn, event: &EventDesc, iters: usize, input: I
perfect/src/harness.rs:624
↓ 1 callersMethodopen
Open a handle to the character device
perfect-zen3/src/lib.rs:23
↓ 1 callersMethodpad_iter
(&self)
perfect-zen2/src/bin/bp.rs:118
↓ 1 callersMethodping
Ask the kernel module to read a secret value
perfect-zen3/src/lib.rs:52
↓ 1 callersMethodpresent
(&self)
perfect/src/util/pagemap.rs:8
↓ 1 callersMethodpush
(&mut self, byte: u8)
perfect/src/asm.rs:428
↓ 1 callersMethodread
Ask the kernel module to read from an arbitrary virtual address
perfect-zen3/src/lib.rs:62
↓ 1 callersMethodrecord_for_event
(&mut self, event: Zen2Event, res: EventResults)
perfect-zen2/src/bin/pmc.rs:356
↓ 1 callersFunctionregister_sigsegv_handler
Register the SIGSEGV handler. After calling, subsequent segfaults are handled with [`sigsegv_handler`].
perfect/src/harness/signal.rs:101
↓ 1 callersMethodscratch_page
Read the address of the scratch page allocated by the module
perfect-zen3/src/lib.rs:40
↓ 1 callersMethodset
(&self)
perfect-zen2/src/bin/pmc.rs:63
↓ 1 callersMethodto_pattern
(&self)
perfect/src/experiments/branch.rs:27
↓ 1 callersMethodunmap
Unmap the backing allocation.
perfect/src/asm.rs:86
↓ 1 callersMethodutag
(&self)
perfect-zen2/src/bin/dcache.rs:47
↓ 1 callersMethodutag
Compute and return the micro-tag for this address.
perfect/src/uarch/vaddr.rs:72
↓ 1 callersMethodutag
(&self)
perfect-zen3/src/bin/collide-probe.rs:86
↓ 1 callersMethodvariance
Return the [`f32`] variance over values in this list.
perfect/src/stats.rs:109
↓ 1 callersMethodwrite_csv
Write this set of results to a CSV file. FIXME: This code is very slow and bad. Would probably be better if this structure was reorganized. FIXME: F
perfect/src/stats.rs:337
↓ 1 callersFunctionzen2_btb_collisions
Compute other addresses aliasing with this BTB index.
perfect/src/uarch/btb.rs:157
↓ 1 callersFunctionzen2_btb_valid_ops
Compute the allowed operations on the given address that do not affect the output of the gates associated with [`ZEN2_BTB_INDEX_FN`]. Each operation
perfect/src/uarch/btb.rs:58
Methodadd_case
(&mut self, desc: EmitterDesc<I>)
perfect/src/experiments.rs:65
Methodadd_unknown_all
Add *all possible combinations* of unit mask bits to the set.
perfect/src/events.rs:128
Functionalign
()
perfect/src/util.rs:623
Methodalign
(&mut self, alignment: usize, with: u8)
perfect/src/asm.rs:435
Methodalign
(&self)
perfect/src/ir/branch.rs:68
Functionalign_down
(addr: usize, bits: usize)
perfect/src/util.rs:527
Methodappend_from_slice
(&mut self, slice: &[T])
perfect/src/experiments/branch.rs:90
Methodapply_to_vm
(&self, vm: &mut PerfectVm)
perfect/src/ir.rs:388
Methodas_desc
(&self)
perfect/src/events/tremont.rs:70
Methodas_i64
Return the [i64] representation of this probe.
perfect-zen2/src/bin/zenbleed.rs:522
Methodas_slice
Return the backing allocation as a slice of bytes.
perfect/src/asm.rs:194
Methodas_usize
(&self)
perfect/src/asm.rs:971
Methodauto_rdpmc
(mut self, x: Option<usize>)
perfect/src/harness/config.rs:184
Methodbackward_relocation
(&mut self, name: &'static str, target_offset: isize, field_offset: u8, ref_offset: u8, kind
perfect/src/asm.rs:512
Methodbare_relocation
(&mut self, target: usize, field_offset: u8, ref_offset: u8, kind: Self::Relocation)
perfect/src/asm.rs:533
Functionbranchset_offset
()
perfect/src/ir/branch.rs:176
Functionbranchset_uniform
()
perfect/src/ir/branch.rs:165
Functionbuild_pmc_counter
NOTE: Quick hack for building this outside of [PerfectHarness]
perfect/src/util.rs:580
Functionbvfmt
Convert a bitslice to a flat string of 1's and 0's. NOTE: This only exists because, when using .chunks(), the binary formatter in `bitvec` seems to i
perfect-zen2/src/bin/bp-pattern.rs:38
Methodcheck
(&self, value: usize)
perfect/src/util.rs:476
Methodclear
Clear this set.
perfect/src/events.rs:136
Methodclear
(&mut self)
perfect/src/harness/state.rs:21
Functionclear_ghist_dir
()
perfect/src/util.rs:565
Functionclear_ghist_indir
()
perfect/src/util.rs:548
Methodclose
(fd: BorrowedFd<'a>)
perfect/src/util/msr.rs:19
Methodcompute_utag_map
Build a map of all possible micro-tags and their associated input bits.
perfect/src/uarch/vaddr.rs:113
Methodcompute_utag_map
Build a map of all possible micro-tags and their associated input bits.
perfect-zen3/src/bin/collide-probe.rs:126
Methodcr2
(&self)
perfect/src/harness/signal.rs:57
Methodcsgsfs
(&self)
perfect/src/harness/signal.rs:53
Methodctr_idx
(mut self, x: i32)
perfect/src/experiments/template.rs:100
Methoddefault_tremont
()
perfect/src/harness/config.rs:139
← previousnext →101–200 of 580, ranked by callers