ptcov 0.1.2

Decoder to compute code coverage from IntelĀ® Processor Trace traces
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::packet::PtPacketParseError;

pub struct Ptw {}

impl Ptw {
    const HEADER_SIZE: usize = 2;
    pub(crate) const fn size(b1: u8) -> Result<usize, PtPacketParseError> {
        let payload_size = match (b1 >> 5) & 0b11 {
            0b00 => 4,
            0b01 => 8,
            _ => return Err(PtPacketParseError::MalformedPacket),
        };
        Ok(Self::HEADER_SIZE + payload_size)
    }
}