v86d.git
13 years agoPrint phys_base_ptr in testvbe.masterv86d-0.1.10
Michał Januszewski [Fri, 25 Feb 2011 21:27:39 +0000 (25 22:27 +0100)]
Print phys_base_ptr in testvbe.

13 years agoVerify that netlink messages are coming from kernel.
Michał Januszewski [Fri, 25 Feb 2011 21:24:46 +0000 (25 22:24 +0100)]
Verify that netlink messages are coming from kernel.

Thanks to Nelson Elhage for reporting this problem.

14 years agoCheck the EBDA is mapped before accessing it.
Michał Januszewski [Wed, 27 Jan 2010 19:40:03 +0000 (27 20:40 +0100)]
Check the EBDA is mapped before accessing it.

The EBDA is the one region of memory which may not be mapped.  If this is
the case, and someone tries to access it, emit a proper warning.  Thanks
to Enrico Perla for spotting the problem.

15 years agoMap the system and video BIOSes with PROT_WRITE for x86emu.
Michał Januszewski [Mon, 3 Nov 2008 23:24:17 +0000 (4 00:24 +0100)]
Map the system and video BIOSes with PROT_WRITE for x86emu.

https://bugs.gentoo.org/show_bug.cgi?id=245254 provides an example
of a system which requires the Video BIOS and the System BIOS to
be mapped with read-write protections for the emulation to work
correctly.

Since only a few systems exhibit this property, this patch only
fixes this problem in x86emu.  The lrmi backend is left unchanged.
Mapping the BIOS with PROT_WRITE there would cause it to break
on PaX systems.  This is not an issue for x86emu, where the code
is never directly executed (and thus the BIOS pages are not mapped
with PROT_EXEC).

15 years agoFix parsing of the OEM descriptions.
Michał Januszewski [Mon, 3 Nov 2008 23:20:57 +0000 (4 00:20 +0100)]
Fix parsing of the OEM descriptions.

There is at least one known case where the OEM descriptions provided
by the Video BIOS are not valid, null-terminated strings.  Fix the
code so that even invalid data in those fields does not cause an
overflow of the buffer.

15 years agoAdd 0.1.9 ChangeLog entry.v86d-0.1.9
Michał Januszewski [Sat, 4 Oct 2008 00:06:05 +0000 (4 02:06 +0200)]
Add 0.1.9 ChangeLog entry.

15 years agoFix a off-by-one error in the VBE string copy function.
Michał Januszewski [Sat, 4 Oct 2008 00:02:08 +0000 (4 02:02 +0200)]
Fix a off-by-one error in the VBE string copy function.

15 years agoFix concurrent build by properly specifying all dependencies.
Michał Januszewski [Sat, 27 Sep 2008 19:43:45 +0000 (27 21:43 +0200)]
Fix concurrent build by properly specifying all dependencies.

15 years agoDon't map memory with PROT_EXEC for x86emu.
Michał Januszewski [Mon, 22 Sep 2008 23:01:27 +0000 (23 01:01 +0200)]
Don't map memory with PROT_EXEC for x86emu.

Since x86emu is a full emulator, the mmapped code is never directly
executed.  Thus, PROT_EXEC is not needed.

15 years agoRemove dynamically generated code from LRMI.
Michał Januszewski [Mon, 22 Sep 2008 22:56:59 +0000 (23 00:56 +0200)]
Remove dynamically generated code from LRMI.

LRMI dynamically generated the return to 32-bit code (int 0xff), which
causes problem with systems using PaX, where memory pages are either
executable or writable, but never both at once.  Fix this by including
this code in a separate section in the object file and mapping it
to the absolute address 0x9000.

Thanks to the PaX team for useful suggestions and discussions in
http://bugs.gentoo.org/show_bug.cgi?id=226107

15 years agoAdd 0.1.8 ChangeLog entry.or.cz/masteror.cz/originv86d-0.1.8
Michał Januszewski [Sun, 21 Sep 2008 15:43:10 +0000 (21 17:43 +0200)]
Add 0.1.8 ChangeLog entry.

15 years agoFix compatibility with PaX.
PaX team [Sun, 21 Sep 2008 15:39:42 +0000 (21 17:39 +0200)]
Fix compatibility with PaX.

15 years agoFix formatting in ulog strings.
Paweł Sikora [Sun, 21 Sep 2008 12:08:37 +0000 (21 14:08 +0200)]
Fix formatting in ulog strings.

15 years agoAdd 0.1.7 ChangeLog entry.v86d-0.1.7
Michał Januszewski [Sun, 14 Sep 2008 10:06:18 +0000 (14 12:06 +0200)]
Add 0.1.7 ChangeLog entry.

15 years agoMap the VRAM and Video ROM/System ROM seperately.
Michał Januszewski [Sun, 7 Sep 2008 23:35:30 +0000 (8 01:35 +0200)]
Map the VRAM and Video ROM/System ROM seperately.

lrmi maps both the Video RAM and ROM with PROT_EXEC.  This can cause
problems on systems with NX and PaX.  In order to avoid these, map
the RAM and ROM areas separately, with different PROT_* flags.

15 years agoMap 0xe0000-0xfffff instead of 0xf0000-0xfffff.
Michał Januszewski [Sun, 7 Sep 2008 23:25:22 +0000 (8 01:25 +0200)]
Map 0xe0000-0xfffff instead of 0xf0000-0xfffff.

Parts of the BIOS can be located in the 0xe000 memory segment.  Gentoo
bug #226107 provides at least one example where not mapping this part
of the memory caused the Video BIOS to fail.

15 years agoAdd 0.1.6 ChangeLog entry.
Michał Januszewski [Sat, 26 Jul 2008 15:12:07 +0000 (26 17:12 +0200)]
Add 0.1.6 ChangeLog entry.

15 years agoAdd support for the SMSW instruction to x86emu.
Mark Karpeles [Sat, 26 Jul 2008 15:08:36 +0000 (26 17:08 +0200)]
Add support for the SMSW instruction to x86emu.

15 years agoAdd support for bswap and cpuid.
Michał Januszewski [Sat, 26 Jul 2008 08:49:59 +0000 (26 10:49 +0200)]
Add support for bswap and cpuid.

The code for these functions somes out of the x86emu version
used in xorg.

15 years agoFix the insd and outsd instructions.
Mark Karpeles [Sat, 26 Jul 2008 06:37:21 +0000 (26 08:37 +0200)]
Fix the insd and outsd instructions.

The implementation of insd and outsd used in x86emu puts a 'break'
instruction inside a while loop, causing only the first double word
to be transferred.  Fix this by moving the instruction out of the
loop.

15 years agoProperly map all regions of memory.
Michał Januszewski [Fri, 25 Jul 2008 22:02:32 +0000 (26 00:02 +0200)]
Properly map all regions of memory.

Currently, the EBDA (Extended BIOS Data Area) isn't mapped at all
and the Video RAM, Video ROM and system BIOS are treated as a single
chunk of memory.

Fix this by trying to locate and mmap the EBDA, and by mapping the
VRAM, the VBIOS and the System BIOS separately.

15 years agoAdd 0.1.5.2 ChangeLog entry.
Michał Januszewski [Wed, 16 Jul 2008 20:31:00 +0000 (16 22:31 +0200)]
Add 0.1.5.2 ChangeLog entry.

15 years agoFix compatibility with NX and PaX.
PaX team [Wed, 16 Jul 2008 20:30:01 +0000 (16 22:30 +0200)]
Fix compatibility with NX and PaX.

15 years agoFix LRMI compilation with 2.6.26 kernel headers.
Michał Januszewski [Tue, 15 Jul 2008 20:23:50 +0000 (15 22:23 +0200)]
Fix LRMI compilation with 2.6.26 kernel headers.

16 years agoDon't map memory beyond 0x10000.
Michał Januszewski [Thu, 1 May 2008 18:03:15 +0000 (1 20:03 +0200)]
Don't map memory beyond 0x10000.

This fixes the problem with devmem_is_allowed() denying access to
/dev/mem in recent kernels.

16 years agoUpdate the ChangeLog with the 0.1.4 entry
Michał Januszewski [Sat, 19 Apr 2008 20:45:31 +0000 (19 22:45 +0200)]
Update the ChangeLog with the 0.1.4 entry

16 years agoFix error handling in case of failed memory allocations.
Michał Januszewski [Sat, 19 Apr 2008 20:43:39 +0000 (19 22:43 +0200)]
Fix error handling in case of failed memory allocations.

16 years agoAdd info about the KDIR make option in the README.
Michał Januszewski [Sun, 23 Dec 2007 11:19:09 +0000 (23 12:19 +0100)]
Add info about the KDIR make option in the README.

16 years agoUpdate the ChangeLog with the 0.1.3 entryv86d-0.1.3
Michał Januszewski [Mon, 3 Dec 2007 00:26:06 +0000 (3 01:26 +0100)]
Update the ChangeLog with the 0.1.3 entry

16 years agoFix VBE IB retrieval from the Video ROM.
Michał Januszewski [Mon, 3 Dec 2007 00:24:41 +0000 (3 01:24 +0100)]
Fix VBE IB retrieval from the Video ROM.

16 years agotestvbe: Clean the registers before doing VBE calls.
Michał Januszewski [Sun, 2 Dec 2007 15:31:55 +0000 (2 16:31 +0100)]
testvbe: Clean the registers before doing VBE calls.

16 years agoInclude the video mode list location in the debug messages.
Michał Januszewski [Sun, 2 Dec 2007 11:00:16 +0000 (2 12:00 +0100)]
Include the video mode list location in the debug messages.

16 years agoUpdate ChangeLog with 0.1.2 entry.v86d-0.1.2
Michał Januszewski [Sun, 4 Nov 2007 14:59:00 +0000 (4 15:59 +0100)]
Update ChangeLog with 0.1.2 entry.

16 years agoAdd the --with-debug configure option.
Michał Januszewski [Sun, 4 Nov 2007 14:57:39 +0000 (4 15:57 +0100)]
Add the --with-debug configure option.

16 years agoFormatting fixes for testvbe info display.
Michał Januszewski [Sun, 4 Nov 2007 14:56:56 +0000 (4 15:56 +0100)]
Formatting fixes for testvbe info display.

16 years agoUpdate testvbe to display basic information about the Video BIOS.0.1.1
Michał Januszewski [Mon, 22 Oct 2007 21:04:18 +0000 (22 23:04 +0200)]
Update testvbe to display basic information about the Video BIOS.

16 years agoAdd support for filtering log levels.
Michał Januszewski [Thu, 18 Oct 2007 22:35:52 +0000 (19 00:35 +0200)]
Add support for filtering log levels.

16 years agoRefactor code to properly use log levels.
Michał Januszewski [Thu, 18 Oct 2007 22:21:22 +0000 (19 00:21 +0200)]
Refactor code to properly use log levels.

16 years agolrmi: Map the IVTBDA as shared.
Michał Januszewski [Thu, 18 Oct 2007 22:17:17 +0000 (19 00:17 +0200)]
lrmi: Map the IVTBDA as shared.

16 years agoFail x86emu autodetection if a supported arch isn't detected.
Michał Januszewski [Sun, 16 Sep 2007 12:24:11 +0000 (16 14:24 +0200)]
Fail x86emu autodetection if a supported arch isn't detected.

16 years agoAdd info about supported arches.
Michał Januszewski [Sun, 16 Sep 2007 12:23:33 +0000 (16 14:23 +0200)]
Add info about supported arches.

16 years agoFix compiler warnings in v86_lrmi.
Michał Januszewski [Tue, 7 Aug 2007 17:11:34 +0000 (7 19:11 +0200)]
Fix compiler warnings in v86_lrmi.

16 years agoAdd support for the new memory access functions to v86_lrmi.
Michał Januszewski [Tue, 7 Aug 2007 17:10:27 +0000 (7 19:10 +0200)]
Add support for the new memory access functions to v86_lrmi.

16 years agoUse our own memory access functions in x86emu.
Michał Januszewski [Tue, 7 Aug 2007 17:04:14 +0000 (7 19:04 +0200)]
Use our own memory access functions in x86emu.

Change the v86 memory access functions so that they no longer require
mapping files into the first 1 MB of the address space.

16 years agoMove ioperm and iopl declarations to v86.h.
Michał Januszewski [Sun, 22 Jul 2007 21:38:38 +0000 (22 23:38 +0200)]
Move ioperm and iopl declarations to v86.h.

ioperm and iopl are used both by x86emu and lrmi.  Since we don't use
sys/io.h in either one of these, we need to define the function prototypes
to avoid compilation warnings.

16 years agoMap the IVTBDA as a shared.0.1-rc4
Michał Januszewski [Sat, 21 Jul 2007 13:37:23 +0000 (21 15:37 +0200)]
Map the IVTBDA as a shared.

16 years agov86_x86emu.c cleanup. Change default EFLAGS.
Michał Januszewski [Sat, 21 Jul 2007 13:21:12 +0000 (21 15:21 +0200)]
v86_x86emu.c cleanup.  Change default EFLAGS.

16 years agotestvbe: remove unused headers
Michał Januszewski [Sat, 21 Jul 2007 13:14:15 +0000 (21 15:14 +0200)]
testvbe: remove unused headers

16 years agox86emu: add support for the rdtsc opcode
Michał Januszewski [Sat, 21 Jul 2007 13:03:16 +0000 (21 15:03 +0200)]
x86emu: add support for the rdtsc opcode

This update comes from the xorg's x86emu.

16 years agox86emu: remove unused defines from the Makefile
Michał Januszewski [Sat, 21 Jul 2007 13:01:09 +0000 (21 15:01 +0200)]
x86emu: remove unused defines from the Makefile

16 years agoFix compilation warnings.
Michał Januszewski [Sat, 21 Jul 2007 12:39:54 +0000 (21 14:39 +0200)]
Fix compilation warnings.

16 years agoCompile with -g by default.
Michał Januszewski [Sat, 21 Jul 2007 12:37:28 +0000 (21 14:37 +0200)]
Compile with -g by default.

16 years agoFix a bug in the code used to retrieve the OEM strings
Michał Januszewski [Sat, 7 Jul 2007 15:09:11 +0000 (7 17:09 +0200)]
Fix a bug in the code used to retrieve the OEM strings
from the Video ROM.

16 years agoDon't use sys/io.h as it's broken on x86_64 in klibc.
Michał Januszewski [Tue, 3 Jul 2007 12:15:47 +0000 (3 14:15 +0200)]
Don't use sys/io.h as it's broken on x86_64 in klibc.

16 years agoFix minor bugs, use v86_regs to pass reg values from/to the kernel.
Michał Januszewski [Fri, 22 Jun 2007 23:28:36 +0000 (23 01:28 +0200)]
Fix minor bugs, use v86_regs to pass reg values from/to the kernel.

16 years agoAdd licensing info.
Michał Januszewski [Fri, 22 Jun 2007 23:27:39 +0000 (23 01:27 +0200)]
Add licensing info.

16 years agoMake the kernel dir overridable.
Michał Januszewski [Sun, 10 Jun 2007 23:07:33 +0000 (11 01:07 +0200)]
Make the kernel dir overridable.

16 years agoCode cleanup.
Michał Januszewski [Sun, 10 Jun 2007 23:04:54 +0000 (11 01:04 +0200)]
Code cleanup.

16 years agoFix compilation issues after removal of the kernel/ subdir.
Michał Januszewski [Sat, 9 Jun 2007 21:34:32 +0000 (9 23:34 +0200)]
Fix compilation issues after removal of the kernel/ subdir.

16 years agoRemove uvesafb.
Michał Januszewski [Sat, 9 Jun 2007 18:21:16 +0000 (9 20:21 +0200)]
Remove uvesafb.

uvesafb is now tracked in a separete kernel tree.

16 years agoAdd basic documentation (README).
Michał Januszewski [Sat, 9 Jun 2007 17:43:04 +0000 (9 19:43 +0200)]
Add basic documentation (README).

16 years agoMake the C library and x86 emulation configurable.
Michał Januszewski [Sat, 9 Jun 2007 12:53:31 +0000 (9 14:53 +0200)]
Make the C library and x86 emulation configurable.

16 years agoAdd preliminary support for the x86emu backend.
Michał Januszewski [Sat, 9 Jun 2007 10:34:28 +0000 (9 12:34 +0200)]
Add preliminary support for the x86emu backend.

16 years agov86d: add support for ESBX buffers
Michał Januszewski [Thu, 7 Jun 2007 19:01:56 +0000 (7 21:01 +0200)]
v86d: add support for ESBX buffers

16 years agoAdd support for uvesafb_open() and uvesafb_release().
Michał Januszewski [Sun, 27 May 2007 13:29:29 +0000 (27 15:29 +0200)]
Add support for uvesafb_open() and uvesafb_release().

16 years agoAdd support for blanking and panning.
Michał Januszewski [Sun, 27 May 2007 13:03:27 +0000 (27 15:03 +0200)]
Add support for blanking and panning.

16 years agoRemove debugging printk's.
Michał Januszewski [Sun, 27 May 2007 11:46:15 +0000 (27 13:46 +0200)]
Remove debugging printk's.

16 years agoDon't open tty1 in v86d.
Michał Januszewski [Sun, 27 May 2007 11:26:49 +0000 (27 13:26 +0200)]
Don't open tty1 in v86d.

Opening tty1 causes a hang if v86d is started from set_par(), called from
fbcon (because of console_sem being held by fbcon).

16 years agoAdd support for video mode switching.
Michał Januszewski [Tue, 22 May 2007 15:49:58 +0000 (22 17:49 +0200)]
Add support for video mode switching.

16 years agoAdd command line option parsing.
Michał Januszewski [Tue, 22 May 2007 10:37:42 +0000 (22 12:37 +0200)]
Add command line option parsing.

16 years agoAdd preliminary support for monitor limits.
Michał Januszewski [Mon, 21 May 2007 18:37:21 +0000 (21 20:37 +0200)]
Add preliminary support for monitor limits.

16 years agoAdd initial support for the LRMI v86 backend.
Michał Januszewski [Sun, 20 May 2007 21:29:03 +0000 (20 23:29 +0200)]
Add initial support for the LRMI v86 backend.

17 years agoInitial commit
Michał Januszewski [Mon, 14 May 2007 06:38:25 +0000 (14 08:38 +0200)]
Initial commit