X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fsim.src%2Fitsrccl.h;h=673a96e86c6cae18a85f0863b2c542952e0c3232;hb=34d14506fd0c12ee5434fec0f9dec27753e1aab5;hp=d585af9ac8d836908c11cbc1e816e6336d0d5082;hpb=f27cbdc6513b26748661452e50ed3af99fac16a2;p=fw%2Fsdcc diff --git a/sim/ucsim/sim.src/itsrccl.h b/sim/ucsim/sim.src/itsrccl.h index d585af9a..673a96e8 100644 --- a/sim/ucsim/sim.src/itsrccl.h +++ b/sim/ucsim/sim.src/itsrccl.h @@ -39,12 +39,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA class cl_it_src: public cl_base { public: + int poll_priority; uchar ie_mask; // Mask in IE register uchar src_reg; // Register in SFR of source uchar src_mask; // Mask of source bit in src_reg uint addr; // Address of service routine bool clr_bit; // Request bit must be cleared when IT accepted - char *name; // For debug + //char *name; // For debug bool active; // Acceptance can be disabled cl_it_src(uchar Iie_mask, @@ -52,8 +53,9 @@ public: uchar Isrc_mask, uint Iaddr, bool Iclr_bit, - char *Iname); - ~cl_it_src(void); + const char *Iname, + int apoll_priority); + virtual ~cl_it_src(void); bool is_active(void); virtual void set_active_status(bool Aactive); @@ -62,6 +64,15 @@ public: }; +class cl_irqs: public cl_sorted_list +{ +public: + cl_irqs(t_index alimit, t_index adelta); + virtual const void *key_of(void *item); + virtual int compare(const void *key1, const void *key2); +}; + + /* * This class is used to follow levels of accepted interrupts * It used on a stack of active interrupt services (it_levels of cl_uc)