x86_64 restore_image declaration needs asmlinkage?
From: Nigel Cunningham
Date: Wed Jun 28 2006 - 06:47:14 EST
Hi.
I received a report of problems with CONFIG_REGPARM and suspending, that led
me to recheck asm calls and declarations. Not being a guru on these things, I
want to ask advice from those who know more.
Along the way I noticed that current git has:
extern asmlinkage int swsusp_arch_suspend(void);
extern asmlinkage int swsusp_arch_resume(void);
This is right for x86, but for x86_64, we actually call a C routine in
arch/x86_64/kernel/suspend.c, which calls restore_image in
arch/x86_64/kernel/suspend_asm.S. Restore image is declared in suspend.c as
extern int restore_image(void);
should it be:
extern asmlinkage int restore_image(void);
Having swsusp_arch_resume declared as asmlinkage doesn't matter, does it?
Regards,
Nigel
--
Nigel, Michelle and Alisdair Cunningham
5 Mitchell Street
Cobden 3266
Victoria, Australia
Attachment:
pgp00000.pgp
Description: PGP signature