Skip to content

Commit

Permalink
Add opts to attach watchpoint on usb and plat dev
Browse files Browse the repository at this point in the history
  • Loading branch information
RinHizakura committed Nov 26, 2024
1 parent e4b14aa commit c3f1516
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,21 @@ struct Cli {

#[arg(long, help = "kexpr: 'sturct pci_dev' from the device name")]
pci_dev: Option<String>,

#[arg(long, help = "kexpr: 'sturct usb_device' from the device name")]
usb_dev: Option<String>,

#[arg(long, help = "kexpr: 'sturct platform_device' from the device name")]
plat_dev: Option<String>,
}

fn parse_addr(bp: &BpType) -> Result<usize> {
let cli = Cli::parse();
let expr = cli.expr;
let pid_task = cli.pid_task;
let pci_dev = cli.pci_dev;
let usb_dev = cli.usb_dev;
let plat_dev = cli.plat_dev;
let vmlinux = cli.vmlinux;

/* Use kexpr if special option is specified.
Expand All @@ -96,6 +104,14 @@ fn parse_addr(bp: &BpType) -> Result<usize> {
return pcidev_kexpr2addr(&pci_dev, &expr);
}

if let Some(usb_dev) = usb_dev {
return usbdev_kexpr2addr(&usb_dev, &expr);
}

if let Some(plat_dev) = plat_dev {
return platdev_kexpr2addr(&plat_dev, &expr);
}

if let Ok(addr) = hexstr2int(&expr) {
return Ok(addr);
}
Expand Down

0 comments on commit c3f1516

Please sign in to comment.