mirror of
https://github.com/saymrwulf/betrusted-curve25519-dalek-source.git
synced 2026-09-06 20:41:11 +00:00
cleanup field arithmetic routines to refer to local job primitives
This commit is contained in:
parent
e53c5e50a5
commit
ebcc3702d3
1 changed files with 16 additions and 9 deletions
|
|
@ -62,15 +62,22 @@ pub(crate) enum EngineOp {
|
||||||
#[allow(unused_qualifications)]
|
#[allow(unused_qualifications)]
|
||||||
pub(crate) fn engine(a: &[u8; 32], b: &[u8; 32], op: EngineOp) -> Engine25519 {
|
pub(crate) fn engine(a: &[u8; 32], b: &[u8; 32], op: EngineOp) -> Engine25519 {
|
||||||
use utralib::generated::*;
|
use utralib::generated::*;
|
||||||
let mut engine = utralib::CSR::new(utra::engine::HW_ENGINE_BASE as *mut u32);
|
use crate::backend::serial::u32e::*;
|
||||||
let mcode: &'static mut [u32] = unsafe{ core::slice::from_raw_parts_mut(utralib::HW_ENGINE_MEM as *mut u32, 1024) };
|
|
||||||
// allocate the first three registers
|
crate::backend::serial::u32e::ensure_engine();
|
||||||
let rf: [&'static mut [u32]; 3] =
|
let mut engine = utralib::CSR::new(unsafe{ENGINE_BASE.unwrap()}.as_mut_ptr() as *mut u32);
|
||||||
unsafe { [
|
let mcode: &'static mut [u32] = unsafe{
|
||||||
core::slice::from_raw_parts_mut((utralib::HW_ENGINE_MEM + 0x1_0000 + 0 * 32) as *mut u32, 8),
|
core::slice::from_raw_parts_mut(ENGINE_MEM.unwrap().as_mut_ptr() as *mut u32, 1024)
|
||||||
core::slice::from_raw_parts_mut((utralib::HW_ENGINE_MEM + 0x1_0000 + 1 * 32) as *mut u32, 8),
|
};
|
||||||
core::slice::from_raw_parts_mut((utralib::HW_ENGINE_MEM + 0x1_0000 + 2 * 32) as *mut u32, 8),
|
let rf: [&'static mut [u32]; 3] = [
|
||||||
] };
|
unsafe{core::slice::from_raw_parts_mut(
|
||||||
|
(ENGINE_MEM.unwrap().as_mut_ptr() as usize + 0x1_0000 + 0 * 32) as *mut u32, 8)},
|
||||||
|
unsafe{core::slice::from_raw_parts_mut(
|
||||||
|
(ENGINE_MEM.unwrap().as_mut_ptr() as usize + 0x1_0000 + 1 * 32) as *mut u32, 8)},
|
||||||
|
unsafe{core::slice::from_raw_parts_mut(
|
||||||
|
(ENGINE_MEM.unwrap().as_mut_ptr() as usize + 0x1_0000 + 2 * 32) as *mut u32, 8)},
|
||||||
|
];
|
||||||
|
|
||||||
match op {
|
match op {
|
||||||
EngineOp::Mul => {
|
EngineOp::Mul => {
|
||||||
let prog = assemble_engine25519!(
|
let prog = assemble_engine25519!(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue