OpenCores
URL https://opencores.org/ocsvn/potato/potato/trunk

Subversion Repositories potato

[/] [potato/] [trunk/] [benchmarks/] [potato.h] - Diff between revs 24 and 45

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 24 Rev 45
Line 50... Line 50...
#define potato_enable_interrupts()      asm volatile("csrsi %[status], 1 << %[ei_bit]\n" \
#define potato_enable_interrupts()      asm volatile("csrsi %[status], 1 << %[ei_bit]\n" \
                :: [status] "i" (CSR_STATUS), [ei_bit] "i" (STATUS_EI))
                :: [status] "i" (CSR_STATUS), [ei_bit] "i" (STATUS_EI))
#define potato_disable_interrupts()     asm volatile("csrci %[status], 1 << %[ei_bit] | 1 << %[pei_bit]\n" \
#define potato_disable_interrupts()     asm volatile("csrci %[status], 1 << %[ei_bit] | 1 << %[pei_bit]\n" \
                :: [status] "i" (CSR_STATUS), [ei_bit] "i" (STATUS_EI), [pei_bit] "i" (STATUS_PEI))
                :: [status] "i" (CSR_STATUS), [ei_bit] "i" (STATUS_EI), [pei_bit] "i" (STATUS_PEI))
 
 
 
#define potato_write_host(data) \
 
        do { \
 
                register uint32_t temp = data; \
 
                asm volatile("csrw %[tohost], %[temp]\n" \
 
                        :: [tohost] "i" (CSR_TOHOST), [temp] "r" (temp)); \
 
        } while(0);
 
 
#define potato_enable_irq(n) \
#define potato_enable_irq(n) \
        do { \
        do { \
                register uint32_t temp = 0; \
                register uint32_t temp = 0; \
                asm volatile( \
                asm volatile( \
                        "li %[temp], 1 << %[shift]\n" \
                        "li %[temp], 1 << %[shift]\n" \

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.