#
bc339276 |
| 25-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Check opcode for short jump as well. Some option ROMs do short jumps (e.g., some NVIDIA video cards) and we were not able to do POST while resuming because we only honored long jump.
MFC after: 3 d
Check opcode for short jump as well. Some option ROMs do short jumps (e.g., some NVIDIA video cards) and we were not able to do POST while resuming because we only honored long jump.
MFC after: 3 days
show more ...
|
#
b17f9ad2 |
| 16-Aug-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@211344
|
#
077c4b48 |
| 10-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Place spinlock_enter() and spinlock_exit() just around X86EMU calls.
|
#
449918b1 |
| 10-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Tidy up locking and memory allocation for the real mode emulator wrapper. Now we use a regular mutex instead of a spin mutex. When we enter and exit the emulator, spinlock_enter() and spinlock_exit(
Tidy up locking and memory allocation for the real mode emulator wrapper. Now we use a regular mutex instead of a spin mutex. When we enter and exit the emulator, spinlock_enter() and spinlock_exit() are additionally used. Move some page table related stuff from x86bios_init() and x86bios_uninit() to x86bios_map_mem() and x86bios_unmap_mem().
show more ...
|
#
f2c73cef |
| 10-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Tidy up printf() calls for debugging.
|
#
b3165075 |
| 09-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Initialize a variable just before its use.
|
#
b41f3f4c |
| 09-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Reduce diffs between VM86 and X86EMU wrappers for x86bios_alloc() and x86bios_free(). Add strict sanity checks for VM86 wrapper and add strict page table locking for X86EMU wrapper.
|
#
a6d613a5 |
| 07-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Do not block any I/O port on amd64.
|
#
d7a5fb63 |
| 07-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Optimize interrupt vector lookup. There is no need to check the page table.
|
#
fc82156f |
| 06-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Consistently use architecture specific macros.
|
#
f1077673 |
| 06-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Fix allocation of multiple pages, which forgot to increase page number. Particularly, it caused "vm86_addpage: overlap" panics under VirtualBox. Add a safety check before freeing memory while I am he
Fix allocation of multiple pages, which forgot to increase page number. Particularly, it caused "vm86_addpage: overlap" panics under VirtualBox. Add a safety check before freeing memory while I am here.
show more ...
|
#
0a3493e5 |
| 05-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Re-add flag register for output. Some BIOS calls actually use it to return success/failure status. Oops.
|
#
c5e960de |
| 05-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Do not copy stack pointer and flags. These registers are unconditionally destroyed from vm86_prepcall().
|
#
439f3d8b |
| 05-Aug-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Implement a simple native VM86 backend for X86BIOS. Now i386 uses native VM86 calls instead of the real mode emulator as a backend. VM86 has been proven reliable for very long time and it is actual
Implement a simple native VM86 backend for X86BIOS. Now i386 uses native VM86 calls instead of the real mode emulator as a backend. VM86 has been proven reliable for very long time and it is actually few times faster than emulation. Increase maximum number of page table entries per VM86 context from 3 to 8 pages. It was (ridiculously) low and insufficient for new VM86 backend, which shares one context globally. Slighly rearrange and clean up the emulator backend to accommodate new code. The only visible change here is stack size, which is decreased from 64K to 4K bytes to sync. with VM86. Actually, it seems there is no need for big stack in real mode.
MFC after: 1 month
show more ...
|
Revision tags: release/8.1.0_cvs, release/8.1.0 |
|
#
d6c18050 |
| 07-Jul-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@209749
|
#
362487c0 |
| 23-Jun-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Let x86bios_alloc() pass contigmalloc(9) flags. Use it to set M_WAITOK from VESA BIOS initialization. All other malloc(9) uses in the function is blocking any way.
|
#
9307d8bd |
| 08-May-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@207793
|
#
945f418a |
| 06-May-2010 |
Kirk McKusick <mckusick@FreeBSD.org> |
Final update to current version of head in preparation for reintegration.
|
#
48319187 |
| 01-May-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Reduce MD code further. At least, it compiles on ia64 now (but it is not connected to build). The idea/code was shamelessly taken from r207329.
|
#
2083bca5 |
| 01-May-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Do not initialize mutex and return error if it cannot map memory.
|
#
a4bf5fb9 |
| 28-Apr-2010 |
Kirk McKusick <mckusick@FreeBSD.org> |
Update to current version of head.
|
#
824d100f |
| 31-Mar-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFC: r205297, r205347, r205452, r205455, r205649, r205650
Sync. x86bios with HEAD.
- Detect illegal access to unmapped memory within real mode emulator. - Map EBDA if available and support memory w
MFC: r205297, r205347, r205452, r205455, r205649, r205650
Sync. x86bios with HEAD.
- Detect illegal access to unmapped memory within real mode emulator. - Map EBDA if available and support memory wraparound above 1MB as VM86 does. - Set initial %ds to 0x40 as X.org int10 handler does. - Print the initial memory map when bootverbose is set. - Optimize real mode page table lookup. - Add strictly aligned memory access for distant future. - Update copyright date.
show more ...
|
#
ac39796e |
| 29-Mar-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
MFC: r205647
Fix stupid typos. Some VESA BIOSes directly call BIOS interrupt handlers within the VBE interrupt handler. Unfortunately it was causing real mode page faults because we were fetching
MFC: r205647
Fix stupid typos. Some VESA BIOSes directly call BIOS interrupt handlers within the VBE interrupt handler. Unfortunately it was causing real mode page faults because we were fetching instructions from bogus addresses.
PR: kern/144654
show more ...
|
#
8892b97b |
| 29-Mar-2010 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Merge svn+ssh://svn.freebsd.org/base/head@205807
|
#
bfd02644 |
| 25-Mar-2010 |
Jung-uk Kim <jkim@FreeBSD.org> |
Revert accidentally committed initial real mode %sp change of r205347. Note I am keeping %ds change because X.org int10 handler does it and it seems reasonable.
|