Software APIs
rv_plic_testutils.c
1 // Copyright lowRISC contributors (OpenTitan project).
2 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3 // SPDX-License-Identifier: Apache-2.0
4 
5 #include "sw/device/lib/testing/rv_plic_testutils.h"
6 
10 #include "sw/device/lib/testing/rand_testutils.h"
11 #include "sw/device/lib/testing/test_framework/check.h"
12 
13 void rv_plic_testutils_irq_range_enable(dif_rv_plic_t *plic,
14  dif_rv_plic_target_t target,
15  dif_rv_plic_irq_id_t start_irq_id,
16  dif_rv_plic_irq_id_t end_irq_id) {
17  for (dif_rv_plic_irq_id_t irq_id = start_irq_id; irq_id <= end_irq_id;
18  ++irq_id) {
19  uint32_t priority = rand_testutils_gen32_range(kDifRvPlicMinPriority + 1,
21  CHECK_DIF_OK(dif_rv_plic_irq_set_priority(plic, irq_id, priority));
22  CHECK_DIF_OK(
23  dif_rv_plic_irq_set_enabled(plic, irq_id, target, kDifToggleEnabled));
24  }
25  CHECK_DIF_OK(
27 }