| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| static uint32_t intr_handling_success = 0; |
| static const uint32_t hart = 0; |
| int main(int argc, char **argv) { |
| uint64_t cmp = 0x00000000000000FF; |
| uart_init(UART_BAUD_RATE); |
| rv_timer_set_us_tick(hart); |
| rv_timer_set_cmp(hart, cmp); |
| rv_timer_ctrl(hart, true); |
| rv_timer_intr_enable(hart, true); |
| if (intr_handling_success) { |
| uart_send_str("PASS!\n"); |
| __asm__ volatile("wfi;"); |
| // Override weak default function |
| void handler_irq_timer(void) { |
| rv_timer_ctrl(hart, false); |
| rv_timer_clr_all_intrs(); |
| intr_handling_success = 1; |