[MPlayer-dev-eng] Change to new vm86? (VESA not working on newer glibc:s)

Timo Jyrinki timo.jyrinki at hut.fi
Tue Jun 17 16:31:31 CEST 2003


Hi,

Has anyone made any progress on this topic that has been around for
some time already? See:
http://mplayerhq.hu/pipermail/mplayer-users/2003-May/033464.html
http://mplayerhq.hu/pipermail/mplayer-users/2003-February/029443.html
http://www.mplayerhq.hu/pipermail/mplayer-users/2002-November/024594.html

etc. So, with glibc 2.2.5+ mplayer segfaults when -vo vesa is used,
effectively making users with any new distribution to miss the tv-out.

I don't know a lot of asm, but after some investigation about syscalls
and inline asm, I changed the function lrmi_vm86 in lrmi.c to this:

lrmi_vm86(unsigned long fn, struct vm86_struct *vm)
	{
	int r;
	asm volatile (
	 "int $0x80"
	 : "=a" (r)
	 : "0" (166), "b" (fn), "c" (vm));
	return r;
	}

and in run_vm86(void), the line 'vret = lrmi_vm86(&context.vm);'
to 'vret = lrmi_vm86(VM86_ENTER,&context.vm);'. After all my ponderings,
that would seem correct, but it still crashes the same way as before.
Any ideas?

And yes, I did 'make' in osdep-directory before 'make' in the main,
so my new code was compiled in.

-TJ



More information about the MPlayer-dev-eng mailing list