Software APIs
dif_rv_plic_autogen.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 // THIS FILE HAS BEEN GENERATED, DO NOT EDIT MANUALLY. COMMAND:
6 // util/make_new_dif.py --mode=regen --only=autogen
7 
9 
10 #include <stdint.h>
11 
13 
14 #include "rv_plic_regs.h" // Generated.
15 
18  if (rv_plic == NULL) {
19  return kDifBadArg;
20  }
21 
22  rv_plic->base_addr = base_addr;
23 
24  return kDifOk;
25 }
26 
28  dif_rv_plic_alert_t alert) {
29  if (rv_plic == NULL) {
30  return kDifBadArg;
31  }
32 
33  bitfield_bit32_index_t alert_idx;
34  switch (alert) {
36  alert_idx = RV_PLIC_ALERT_TEST_FATAL_FAULT_BIT;
37  break;
38  default:
39  return kDifBadArg;
40  }
41 
42  uint32_t alert_test_reg = bitfield_bit32_write(0, alert_idx, true);
43  mmio_region_write32(rv_plic->base_addr,
44  (ptrdiff_t)RV_PLIC_ALERT_TEST_REG_OFFSET, alert_test_reg);
45 
46  return kDifOk;
47 }