bindings.
* grub-core/lib/reed_solomon.c: Likewise.
* include/grub/i386/gdb.h: Likewise.
* include/grub/i386/pc/int.h: Likewise.
* include/grub/i386/pc/pxe.h: Likewise.
* include/grub/ieee1275/ieee1275.h: Likewise.
+2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
+ bindings.
+ * grub-core/lib/reed_solomon.c: Likewise.
+ * include/grub/i386/gdb.h: Likewise.
+ * include/grub/i386/pc/int.h: Likewise.
+ * include/grub/i386/pc/pxe.h: Likewise.
+ * include/grub/ieee1275/ieee1275.h: Likewise.
+
2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
Import libgcrypt 1.5.3.
#include <grub/types.h>
#include <grub/ieee1275/ieee1275.h>
-int (*grub_ieee1275_entry_fn) (void *);
+int (*grub_ieee1275_entry_fn) (void *) GRUB_IEEE1275_ENTRY_FN_ATTRIBUTE;
grub_ieee1275_phandle_t grub_ieee1275_chosen;
grub_ieee1275_ihandle_t grub_ieee1275_mmu;
#include <grub/misc.h>
#endif
void
-grub_reed_solomon_recover (void *ptr_, grub_size_t s, grub_size_t rs);
+grub_reed_solomon_recover (void *ptr_, grub_size_t s, grub_size_t rs)
+#ifdef __i386__
+ __attribute__ ((regparm(3)))
+#endif
+ ;
#endif
#define GF_SIZE 8
extern void (*grub_gdb_trapvec[]) (void);
void grub_gdb_idtinit (void);
void grub_gdb_idtrestore (void);
-void grub_gdb_trap (int trap_no);
+void grub_gdb_trap (int trap_no) __attribute__ ((regparm(3)));
#endif /* ! ASM */
#endif /* ! GRUB_GDB_CPU_HEADER */
#endif
void EXPORT_FUNC (grub_bios_interrupt) (grub_uint8_t intno,
- struct grub_bios_int_registers *regs);
+ struct grub_bios_int_registers *regs)
+ __attribute__ ((regparm(3)));
struct grub_i386_idt
{
grub_uint16_t limit;
grub_uint8_t reserved[10];
} __attribute__ ((packed));
-int EXPORT_FUNC(grub_pxe_call) (int func, void * data, grub_uint32_t pxe_rm_entry);
+int EXPORT_FUNC(grub_pxe_call) (int func, void * data, grub_uint32_t pxe_rm_entry) __attribute__ ((regparm(3)));
extern struct grub_pxe_bangpxe *grub_pxe_pxenv;
/* Maps a device alias to a pathname. */
extern grub_ieee1275_phandle_t EXPORT_VAR(grub_ieee1275_chosen);
extern grub_ieee1275_ihandle_t EXPORT_VAR(grub_ieee1275_mmu);
-extern int (* EXPORT_VAR(grub_ieee1275_entry_fn)) (void *);
+#ifdef __i386__
+#define GRUB_IEEE1275_ENTRY_FN_ATTRIBUTE __attribute__ ((regparm(3)))
+#else
+#define GRUB_IEEE1275_ENTRY_FN_ATTRIBUTE
+#endif
+
+extern int (* EXPORT_VAR(grub_ieee1275_entry_fn)) (void *) GRUB_IEEE1275_ENTRY_FN_ATTRIBUTE;
/* Static heap, used only if FORCE_CLAIM is set,
happens on Open Hack'Ware. Should be in platform-specific