Annotation of uae/src/include/native2amiga.h, revision 1.1.1.4

1.1       root        1:  /*
                      2:   * UAE - The Un*x Amiga Emulator
                      3:   *
                      4:   * Call (some) Amiga Exec functions outside the main UAE thread
                      5:   * and without stack magic.
                      6:   *
                      7:   * Copyright 1999 Patrick Ohly
1.1.1.4 ! root        8:   *
1.1       root        9:   * Uses the EXTER interrupt that is setup in filesys.c
                     10:   * and some of it needs thread support.
                     11:   */
                     12: 
                     13: /*
                     14:  * The following functions do exactly the same thing as their
                     15:  * Amiga counterpart, but can be called in situation where calling
                     16:  * the exec.library functions is impossible.
                     17:  */
                     18: #ifdef SUPPORT_THREADS
1.1.1.2   root       19: void uae_ReplyMsg(uaecptr msg);
                     20: void uae_PutMsg(uaecptr port, uaecptr msg);
                     21: void uae_Signal(uaecptr task, uae_u32 mask);
1.1       root       22: #endif
1.1.1.2   root       23: void uae_NewList(uaecptr list);
1.1       root       24: 
                     25: /*
                     26:  * The following functions are shortcuts for calling
                     27:  * the exec.library function with CallLib(), so they
                     28:  * are only available in a trap function. This trap
                     29:  * function has to be setup with deftrap2() and
                     30:  * TRAPFLAG_EXTRA_STACK and stack magic is required.
                     31:  */
1.1.1.2   root       32: uaecptr uae_AllocMem (uae_u32 size, uae_u32 flags);
1.1       root       33: 
                     34: 
                     35: /*
                     36:  * to be called when setting up the hardware
                     37:  */
                     38: void native2amiga_install (void);
                     39: 
                     40: /*
                     41:  * to be called when the Amiga boots, i.e. by filesys_diagentry()
                     42:  */
                     43: void native2amiga_startup (void);
                     44: 
                     45: /**** internal stuff ****/
                     46: #ifdef SUPPORT_THREADS
                     47: /* This pipe is filled by Signal() with pairs of
                     48:  * (uae_u32)0/(uaecptr)task/(uae_u32)signal_set,
                     49:  * by PutMsg() with (uae_u32)1/(uaecptr)port/(uaecptr)msg and by
                     50:  * ReplyMsg() with (uae_u32)2/(uaecptr)msg.
                     51:  * It's emptied via exter_int_helper by the EXTER interrupt. */
                     52: extern smp_comm_pipe native2amiga_pending;
                     53: #endif
1.1.1.3   root       54: 
1.1.1.4 ! root       55: STATIC_INLINE void do_uae_int_requested(void)
1.1.1.3   root       56: {
                     57:        uae_int_requested = 1;
                     58:        set_uae_int_flag ();
                     59:        INTREQ (0x8000 | 0x0008);
                     60: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.