xref: /nrf52832-nimble/rt-thread/components/finsh/finsh_vm.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero /*
2*10465441SEvalZero  * Copyright (c) 2006-2018, RT-Thread Development Team
3*10465441SEvalZero  *
4*10465441SEvalZero  * SPDX-License-Identifier: Apache-2.0
5*10465441SEvalZero  *
6*10465441SEvalZero  * Change Logs:
7*10465441SEvalZero  * Date           Author       Notes
8*10465441SEvalZero  * 2010-03-22     Bernard      first version
9*10465441SEvalZero  */
10*10465441SEvalZero #ifndef __FINSH_VM_H__
11*10465441SEvalZero #define __FINSH_VM_H__
12*10465441SEvalZero 
13*10465441SEvalZero #include <finsh.h>
14*10465441SEvalZero 
15*10465441SEvalZero #include "finsh_var.h"
16*10465441SEvalZero 
17*10465441SEvalZero union finsh_value {
18*10465441SEvalZero     char    char_value;
19*10465441SEvalZero     short   short_value;
20*10465441SEvalZero     long    long_value;
21*10465441SEvalZero     void*   ptr;
22*10465441SEvalZero };
23*10465441SEvalZero 
24*10465441SEvalZero extern union finsh_value*   finsh_sp;       /* stack pointer */
25*10465441SEvalZero extern uint8_t*             finsh_pc;       /* PC */
26*10465441SEvalZero 
27*10465441SEvalZero /* stack */
28*10465441SEvalZero extern union finsh_value    finsh_vm_stack[FINSH_STACK_MAX];
29*10465441SEvalZero /* text segment */
30*10465441SEvalZero extern uint8_t              text_segment[FINSH_TEXT_MAX];
31*10465441SEvalZero 
32*10465441SEvalZero void finsh_vm_run(void);
33*10465441SEvalZero //void finsh_disassemble(void);
34*10465441SEvalZero 
35*10465441SEvalZero #endif
36