lkml.org 
[lkml]   [2008]   [Apr]   [13]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 13 Apr 2008 23:33:10 +0200
FromPavel Machek <>
SubjectRe: 2.6.25-rc6 regression - hang on resume
Hi!

> > /sys/bus/pci/devices/0000:00:1b.0/irq
> > 
> > contains 21 in one case and 22 in another... as do other
> > interrupts. Is that expected? Can you post /proc/interrupts for both
> > versions?
> 
> It might be that configs are slightly different - if you think this
> gives a clue I will post them, but your discovery below looks
> promising:

Yep... any chance to do git bisect to see where it broke?

> > Error: something went wrong performing real mode call
> > open("/sys/class/graphics",
> > O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|0x80000) = -1 ENOENT (No
> > such file or directory)
> > open("/dev/tty", O_RDWR|O_LARGEFILE)    = 6
> > ioctl(6, KDGKBTYPE, 0xbfae8887)         = 0
> > 
> > ...can you perhaps add printf-s to s2ram to find out what changed?
> 
> OK, I searched for ???"something went wrong performing real mode call" in
> the s2ram source and found this function:
> 
> int do_real_post(unsigned pci_device)
> {
>     int error = 0;
>     struct LRMI_regs r;
>     memset(&r, 0, sizeof(r));
> 
>     /* Several machines seem to want the device that they're POSTing in
>        here */
>     r.eax = pci_device;
> 
>     /* 0xc000 is the video option ROM.  The init code for each
>        option ROM is at 0x0003 - so jump to c000:0003 and start running
> */
>     r.cs = 0xc000;
>     r.ip = 0x0003;
> 
>     /* This is all heavily cargo culted but seems to work */
>     r.edx = 0x80;
>     r.ds = 0x0040;
> 
>     if (!LRMI_call(&r)) {
>         fprintf(stderr,
>             "Error: something went wrong performing real mode call\n");
>         error = 1;

Sweet, so the problem is inside X86EMU_exec(), right? ...and that's
bytecode interpretter. You could add printfs() all over it, to see
where the execution differs.

> so either the graphics adapter is somehow not ready yet or a wrong
> address is used for posting?

Or something goes wrong in the interpretter...

> Do you already now have an idea? Or which things should I print out?

It starts to look like git bisect is the easier way to get some
results...
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


\
 
 \ /
  Last update: 2008-04-13 23:35    [from the cache]
©2003-2008