[linux-pm] x86_64 restore_image declaration needs asmlinkage?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 28 June 2006 14:00, Nigel Cunningham wrote:
> Hi.
> 
> On Wednesday 28 June 2006 21:53, Rafael J. Wysocki wrote:
> > Hi,
> >
> > On Wednesday 28 June 2006 12:48, Nigel Cunningham wrote:
> > > 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?
> >
> > No, it doesn't.  It would have mattered on i386 if the function had taken
> > any arguments.  AFAICT, on x86_64 it desn't matter at all.
> 
> Right. But what about restore_image lacking the asmlinkage? I'm also wondering 
> if that does matter.

I think asmlinkage would not matter here too (the function is x86_64-specific).

Greetings,
Rafael


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux