X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fsh2%2Fsh2.h;h=264bb4e8365931e7a885f4bbd76db678f371688b;hb=488c0bbf552ddd1b22bfcf2a797a28d8fb89dca0;hp=f9435e041cec5e8cbcc823bbe6a7063cdb43c081;hpb=bcf65fd674528896fe1bc233c8bab617f6b2c86e;p=picodrive.git diff --git a/cpu/sh2/sh2.h b/cpu/sh2/sh2.h index f9435e0..264bb4e 100644 --- a/cpu/sh2/sh2.h +++ b/cpu/sh2/sh2.h @@ -18,13 +18,13 @@ typedef struct unsigned int test_irq; // common - void *read8_map; // 70 - void *read16_map; - void *write8_map; - void *write16_map; + const void *read8_map; // 70 + const void *read16_map; + const void **write8_tab; + const void **write16_tab; // drc stuff - void **pc_hashtab; // 80 + //void **pc_hashtab; // 80 int pending_level; // MAX(pending_irl, pending_int_irq) int pending_irl; @@ -50,11 +50,17 @@ void sh2_execute(SH2 *sh2, int cycles); // pico memhandlers // XXX: move somewhere else -unsigned int p32x_sh2_read8(unsigned int a, SH2 *sh2); -unsigned int p32x_sh2_read16(unsigned int a, SH2 *sh2); -unsigned int p32x_sh2_read32(unsigned int a, SH2 *sh2); -void p32x_sh2_write8(unsigned int a, unsigned int d, SH2 *sh2); -void p32x_sh2_write16(unsigned int a, unsigned int d, SH2 *sh2); -void p32x_sh2_write32(unsigned int a, unsigned int d, SH2 *sh2); +#if !defined(REGPARM) && defined(__i386__) +#define REGPARM(x) __attribute__((regparm(x))) +#else +#define REGPARM(x) +#endif + +unsigned int REGPARM(2) p32x_sh2_read8(unsigned int a, SH2 *sh2); +unsigned int REGPARM(2) p32x_sh2_read16(unsigned int a, SH2 *sh2); +unsigned int REGPARM(2) p32x_sh2_read32(unsigned int a, SH2 *sh2); +void REGPARM(3) p32x_sh2_write8(unsigned int a, unsigned int d, SH2 *sh2); +void REGPARM(3) p32x_sh2_write16(unsigned int a, unsigned int d, SH2 *sh2); +void REGPARM(3) p32x_sh2_write32(unsigned int a, unsigned int d, SH2 *sh2); #endif /* __SH2_H__ */