From: "Frédéric Riss" <frederic.riss@gmail.com>
To: Andi Kleen <ak@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Matt Domsch <Matt_Domsch@dell.com>, Adrian Bunk <bunk@stusta.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Eric Van Hensbergen <ericvh@gmail.com>,
Trond Myklebust <trond.myklebust@fys.uio.no>,
Neil Brown <neilb@suse.de>,
Stephen Hemminger <shemminger@linux-foundation.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Jeff Garzik <jeff@garzik.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Francois Romieu <romieu@fr.zoreil.com>
Subject: Re: 2.6.20-rc7: known regressions
Date: Sun, 04 Feb 2007 14:13:08 +0100 [thread overview]
Message-ID: <1170594788.5217.4.camel@funkylaptop> (raw)
In-Reply-To: <200702031151.17220.ak@suse.de>
Le samedi 03 février 2007 à 11:51 +0100, Andi Kleen a écrit :
> > +
> > +typedef efilinkage efi_status_t efi_get_time_t (efi_time_t *tm,
> > + efi_time_cap_t *tc);
>
> I assume you have double checked it actually works? (i vaguely recall some
> issues with applying attributes to typedefs). If not you would need
> to put them to the declarations.
OK, I tried the following patch (simply adding asmlinkage to the
typedefs) with gcc 3.3, 3.4, 4.0 and 4.1. I couldn't easily try older
compilers.
New patch:
When calling into the EFI firmware, the parameters need to be passed on
the stack. The recent change to use -mregparm=3 breaks x86 EFI support.
This patch is needed to allow the new Intel-based Macs to suspend to ram
(efi.get_time is called during the suspend phase).
Signed-off-by: Frederic Riss <frederic.riss@gmail.com>
---
diff --git a/include/linux/efi.h b/include/linux/efi.h
index f8ebd7c..578bc2a 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -157,22 +157,33 @@ typedef struct {
unsigned long reset_system;
} efi_runtime_services_t;
-typedef efi_status_t efi_get_time_t (efi_time_t *tm, efi_time_cap_t *tc);
-typedef efi_status_t efi_set_time_t (efi_time_t *tm);
-typedef efi_status_t efi_get_wakeup_time_t (efi_bool_t *enabled, efi_bool_t *pending,
- efi_time_t *tm);
-typedef efi_status_t efi_set_wakeup_time_t (efi_bool_t enabled, efi_time_t *tm);
-typedef efi_status_t efi_get_variable_t (efi_char16_t *name, efi_guid_t *vendor, u32 *attr,
- unsigned long *data_size, void *data);
-typedef efi_status_t efi_get_next_variable_t (unsigned long *name_size, efi_char16_t *name,
- efi_guid_t *vendor);
-typedef efi_status_t efi_set_variable_t (efi_char16_t *name, efi_guid_t *vendor,
- unsigned long attr, unsigned long data_size,
- void *data);
-typedef efi_status_t efi_get_next_high_mono_count_t (u32 *count);
-typedef void efi_reset_system_t (int reset_type, efi_status_t status,
- unsigned long data_size, efi_char16_t *data);
-typedef efi_status_t efi_set_virtual_address_map_t (unsigned long memory_map_size,
+typedef asmlinkage efi_status_t efi_get_time_t (efi_time_t *tm,
+ efi_time_cap_t *tc);
+typedef asmlinkage efi_status_t efi_set_time_t (efi_time_t *tm);
+typedef asmlinkage efi_status_t efi_get_wakeup_time_t (efi_bool_t *enabled,
+ efi_bool_t *pending,
+ efi_time_t *tm);
+typedef asmlinkage efi_status_t efi_set_wakeup_time_t (efi_bool_t enabled,
+ efi_time_t *tm);
+typedef asmlinkage efi_status_t efi_get_variable_t (efi_char16_t *name,
+ efi_guid_t *vendor,
+ u32 *attr,
+ unsigned long *data_size,
+ void *data);
+typedef asmlinkage efi_status_t efi_get_next_variable_t (unsigned long *name_sz,
+ efi_char16_t *name,
+ efi_guid_t *vendor);
+typedef asmlinkage efi_status_t efi_set_variable_t (efi_char16_t *name,
+ efi_guid_t *vendor,
+ unsigned long attr,
+ unsigned long data_size,
+ void *data);
+typedef asmlinkage efi_status_t efi_get_next_high_mono_count_t (u32 *count);
+typedef asmlinkage void efi_reset_system_t (int reset_type,
+ efi_status_t status,
+ unsigned long data_size,
+ efi_char16_t *data);
+typedef asmlinkage efi_status_t efi_set_virtual_address_map_t (unsigned long memory_map_size,
unsigned long descriptor_size,
u32 descriptor_version,
efi_memory_desc_t *virtual_map);
next prev parent reply other threads:[~2007-02-04 13:13 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-31 4:28 Linux 2.6.20-rc7 Linus Torvalds
[not found] ` <45C05150.6000802@agmk.net>
2007-01-31 16:04 ` Linus Torvalds
2007-01-31 23:13 ` Andrew Morton
[not found] ` <200702010037.48472.pluto@agmk.net>
2007-02-01 0:14 ` Andrew Morton
2007-02-01 0:19 ` Linus Torvalds
2007-02-01 0:26 ` Andrew Morton
2007-02-01 0:39 ` Linus Torvalds
2007-02-01 0:44 ` Nick Piggin
2007-02-01 0:54 ` Linus Torvalds
2007-02-01 6:48 ` Pekka Enberg
2007-01-31 17:11 ` [PATCH] x86_64: Fix preprocessor condition Josef 'Jeff' Sipek
2007-01-31 17:16 ` Andi Kleen
2007-01-31 17:40 ` Josef Sipek
2007-01-31 18:15 ` Linux 2.6.20-rc7 Sunil Naidu
2007-02-01 2:16 ` S.Çağlar Onur
2007-02-01 2:36 ` Linus Torvalds
2007-02-01 3:01 ` S.Çağlar Onur
2007-02-01 3:31 ` Linus Torvalds
2007-02-01 5:44 ` H. Peter Anvin
2007-02-01 6:00 ` Linus Torvalds
2007-02-01 6:10 ` H. Peter Anvin
2007-02-01 6:38 ` Alexander E. Patrakov
2007-02-01 6:53 ` H. Peter Anvin
2007-02-02 20:52 ` S.Çağlar Onur
2007-02-01 21:06 ` H. Peter Anvin
2007-02-02 5:49 ` 2.6.20-rc7: known regressions Adrian Bunk
2007-02-03 1:55 ` Andrew Morton
2007-02-03 2:03 ` Jeff Garzik
2007-02-03 2:15 ` Andrew Morton
2007-02-03 9:19 ` Frédéric Riss
2007-02-03 9:24 ` Andrew Morton
2007-02-03 9:33 ` Andi Kleen
2007-02-03 9:49 ` Frédéric Riss
2007-02-03 9:58 ` Andi Kleen
2007-02-03 10:47 ` Frédéric Riss
2007-02-03 10:51 ` Andi Kleen
2007-02-03 10:57 ` Frédéric Riss
2007-02-03 11:08 ` Frédéric RISS
2007-02-04 13:13 ` Frédéric Riss [this message]
2007-02-04 14:37 ` Andi Kleen
2007-02-04 17:34 ` Linus Torvalds
2007-02-04 18:18 ` Frédéric Riss
2007-02-04 18:29 ` Linus Torvalds
2007-02-05 8:26 ` Andi Kleen
2007-02-05 9:35 ` Eric W. Biederman
2007-02-03 0:44 ` 2.6.20-rc7: known regressions (v2) (part 1) Adrian Bunk
2007-02-03 6:06 ` Auke Kok
2007-02-03 7:41 ` Eric W. Biederman
2007-02-03 18:06 ` Adam Kropelin
2007-02-03 20:43 ` Auke Kok
2007-02-03 21:00 ` Adam Kropelin
2007-02-03 21:26 ` Auke Kok
2007-02-03 22:24 ` Eric W. Biederman
2007-02-03 21:12 ` Eric W. Biederman
2007-02-03 23:20 ` Adam Kropelin
2007-02-04 1:14 ` Eric W. Biederman
2007-02-04 4:44 ` Adam Kropelin
2007-02-04 5:12 ` Eric W. Biederman
2007-02-03 0:47 ` 2.6.20-rc7: known regressions (v2) (part 2) Adrian Bunk
[not found] <19868466.241170405430418.JavaMail.root@lxnaydesign.net>
2007-02-02 8:45 ` 2.6.20-rc7: known regressions Fabio Erculiani
2007-02-02 13:58 ` Adrian Bunk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1170594788.5217.4.camel@funkylaptop \
--to=frederic.riss@gmail.com \
--cc=Matt_Domsch@dell.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=bunk@stusta.de \
--cc=ebiederm@xmission.com \
--cc=ericvh@gmail.com \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=romieu@fr.zoreil.com \
--cc=shemminger@linux-foundation.org \
--cc=torvalds@linux-foundation.org \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®