Hi. On Friday 29 June 2007 00:25:32 Pavel Machek wrote: > Hi! > > > Hi all > > > > Here's what I have after today's work. > > > > I haven't yet been able to test on x86, but can confirm that it works okay on x86_64. I'm currently working towards testing it on my old Omnibook. My P4 desktop won't resume from suspend to ram at all, and hasn't produced any beeps. > > > > I needed to move the BEEP invocation to after the data segment is reloaded, so that the test could access the variable. That was pretty tricky to find - no oops or anything bad prior, it just didn't beep when expected. > > > > A couple of notes: > > > > - I'd like to put the BEEP macro somewhere that can be shared by x86 32 and 64. If that's a good idea, any suggestions on where? Nothing occurs to me straight off. > > - I've just switched from Evo to Kmail. Please let me know if there's any mangling of the patch. > > > > Regards, > > > > Nigel > > > > arch/i386/kernel/acpi/wakeup.S | 29 ++++++++++++++++++++++++++++- > > arch/x86_64/kernel/acpi/wakeup.S | 25 +++++++++++++++++++++++++ > > include/linux/acpi.h | 1 + > > kernel/power/main.c | 23 +++++++++++++++++++++++ > > 4 files changed, 77 insertions(+), 1 deletion(-) > > diff -ruNp 970-str-beep.patch-old/arch/i386/kernel/acpi/wakeup.S 970-str-beep.patch-new/arch/i386/kernel/acpi/wakeup.S > > --- 970-str-beep.patch-old/arch/i386/kernel/acpi/wakeup.S 2007-06-19 12:15:25.000000000 +1000 > > +++ 970-str-beep.patch-new/arch/i386/kernel/acpi/wakeup.S 2007-06-19 21:14:49.000000000 +1000 > > @@ -11,7 +11,22 @@ > > # > > # If physical address of wakeup_code is 0x12345, BIOS should call us with > > # cs = 0x1234, eip = 0x05 > > -# > > +# > > + > > +#define BEEP \ > > + inb $97, %al; \ > > + outb %al, $0x80; \ > > + movb $3, %al; \ > > + outb %al, $97; \ > > + outb %al, $0x80; \ > > + movb $-74, %al; \ > > + outb %al, $67; \ > > + outb %al, $0x80; \ > > + movb $-119, %al; \ > > + outb %al, $66; \ > > + outb %al, $0x80; \ > > + movb $15, %al; \ > > + outb %al, $66; > > > > ALIGN > > .align 4096 > > @@ -31,6 +46,11 @@ wakeup_code: > > movw %cs, %ax > > movw %ax, %ds # Make ds:0 point to wakeup_start > > movw %ax, %ss > > + > > + testl $1, beep_flags - wakeup_code > > + jz 1f > > + BEEP > > +1: > > Can we rename/reuse existing flag variable? Sorry, but I can't resist the opportunity to say "Send a patch!" :) Seriously, though, I'd prefer not to. If we rename that acpi video flags variable (I assume this is what you're thinking of), we only create cause for confusion. A variable should for debugging or for controlling quirks, not for both at the same time. Regards, Nigel -- Nigel, Michelle and Alisdair Cunningham 5 Mitchell Street Cobden 3266 Victoria, Australia
Attachment:
pgpxjU6lZAQ7s.pgp
Description: PGP signature
- Follow-Ups:
- Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.
- From: Pavel Machek <[email protected]>
- Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.
- From: Stefan Seyfried <[email protected]>
- Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.
- References:
- [PATCH] Optional Beeping During Resume From Suspend To Ram.
- From: Nigel Cunningham <[email protected]>
- Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.
- From: Pavel Machek <[email protected]>
- [PATCH] Optional Beeping During Resume From Suspend To Ram.
- Prev by Date: [PATCH] pci.h stubs (for EDD build error)
- Next by Date: Wrong cache size reported on Q6600
- Previous by thread: Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.
- Next by thread: Re: [PATCH] Optional Beeping During Resume From Suspend To Ram.
- Index(es):