Commit Graph

42 Commits

Author SHA1 Message Date
Norman Feske 560a58e5c6 Move packet stream to Genode namespace, fix #1455 2015-03-19 08:57:22 +01:00
Alexander Boettcher 2ad6a3b934 vbox: support multi touch input events
Fixes #1444
2015-03-19 08:57:19 +01:00
Christian Prochaska 1f7fd647da vbox: wait longer for stable timer state
Some functions in the time manager, for example 'TMTimerSet()' and
'TMTimerStop()' let VirtualBox abort with a failed assertion if the timer
does not change to a 'stable' state after 1000 calls of a mixture of
'yield' and 'sleep'. On Genode, this happens sometimes when the 'EMT'
thread is executing 'TMTimerSet()' and gets interrupted by the 'TAP'
thread, which calls 'TMTimerStop()' and waits for the 'EMT' thread to
finish setting the timer. Since the 'EMT' thread has the lowest priority,
1000 retries can be too few. Without the assertion, these functions would
return an error code, which is often ignored by the caller, so it seems
safer to keep retrying until the function can return successfully.

Fixes #1437
2015-03-13 12:17:26 +01:00
Christian Helmuth 143c703669 vbox: prevent warning 2015-03-13 12:17:26 +01:00
Christian Helmuth 86c0656de0 vbox: cleanup device registration
Patch got lost on win8 merge ;-)
2015-03-13 12:17:25 +01:00
Christian Prochaska c68828519e vbox: revert 'PGMR3Phys{Read,Write}External'
Fixes #1417
2015-03-13 12:17:24 +01:00
Alexander Boettcher e5b187ce16 vbox: support wheel input events
Issue #1438
2015-03-13 12:17:23 +01:00
Alexander Boettcher c8a9b1802e vbox: enable usb support for guests
Fixes #1438
2015-03-13 12:17:23 +01:00
Christian Helmuth 417199ea64 vbox: enable support for Windows 8
Fixes #1413
2015-02-27 11:48:05 +01:00
Christian Prochaska 679ae1dd14 vbox: improve virtual time accuracy
Fixes #1411
2015-02-27 11:40:58 +01:00
Alexander Boettcher 9262629a86 vbox: fix interrupt injection in recompiler mode
Fixes #1365
2015-01-20 11:23:51 +01:00
Christian Prochaska 50950ec248 vbox: 'poke' fixes
Fixes #1364
2015-01-20 11:23:51 +01:00
Alexander Boettcher 25eec75ad8 vbox: be less verbose in vmx_invalid exit cases
Be less verbose regards warnings caused by vmx_invalid exits - which triggers
on T400 more often because it has no Unrestricted Guest support. This leads
to lot of log messages so that the test does not succeed in time. Additionally,
the virtualbox_auto_disk.run script is adjusted to check for some output to
exit earlier if something went wrong.

Fixes #1367
2015-01-20 11:23:51 +01:00
Alexander Boettcher ee996d2280 vbox: enable dumping GuruMeditations messages
This typically is a sign that something went terribly wrong. The information
may help to debug issues.

Issue #1343
2015-01-20 11:23:50 +01:00
Christian Prochaska 6791fd18cc vbox: use libc's 'gettimeofday()' function
Fixes #1363
2015-01-20 11:23:50 +01:00
Alexander Boettcher cdaf6a502d vbox: support absolute mouse input events
Got broken during upgrade from 4.2 to 4.3.

Fixes #1321
2014-12-19 13:58:47 +01:00
Alexander Boettcher 6d02c4c89f vbox: use power of two priority levels
Avoids warnings of init in form of

"priority band too small, losing least-significant priority bits"

when virtualbox starts threads.

Fixes #1323
2014-12-19 13:58:47 +01:00
Alexander Boettcher 183a2c1be6 vbox: support more graphic modes
Fixes #1319
2014-12-09 18:21:09 +01:00
Christian Prochaska b4f41aecad vbox: enable 1-byte MMIO writes at 4-/8-byte aligned address
Fixes #1318
2014-12-08 17:39:23 +01:00
Alexander Boettcher 6d391aae10 vbox: support routing serial output to Genode
Fixes #1308
2014-12-01 17:29:17 +01:00
Alexander Boettcher 604b831e1e vbox: update to virtualbox 4.3.16
Fixes #1296
2014-11-28 12:02:40 +01:00
Alexander Boettcher 3babee4e19 vbox: support resetting of a VM
Fixes #1290
2014-11-12 14:47:47 +01:00
Christian Prochaska cb51d67c8d vbox: don't enforce instruction emulation after recall event
Fixes #1284
2014-11-12 14:44:17 +01:00
Christian Prochaska ac47053b2f vbox: set the 'CPUM_CHANGED_GLOBAL_TLB_FLUSH' flag
Fixes #1281
2014-11-12 14:44:16 +01:00
Christian Prochaska d65826a85d vbox: always transfer FPU ownership back to the VM
When the 'Mtd::FPU' flag is set during the registration of a
virtualization event handler, it must also be set whenever the event
handler returns.

Fixes #1283
2014-11-12 14:44:16 +01:00
Christian Prochaska e3fa8c9f22 vbox: save the guest FPU state before 'longjmp()'
'longjmp()' restores the (partial) FPU state saved by 'setjmp()', so it's
necessary to save the guest FPU state before calling 'longjmp()'.

Fixes #1282
2014-11-12 14:44:16 +01:00
Alexander Boettcher 5d06078d27 x86 vmm: add general multiprocessor support
* repos/ports/include/vmm
 - add support to specify cpu location during vCPU construction
* seoul
 - update to latest seoul branch supporting smp
 - adjust to vmm interface changes
 - vCPUs will be put in a round robin fashion on the available host CPUs,
   beginning with the next CPU after the default (boot) CPU
 - number of vCPUs can be specified in run script
* virtualbox
 - adjust to vmm interface changes
 - uses still one vCPU, placed on default (boot) CPU

Fixes #1212
2014-07-24 10:18:07 +02:00
Alexander Boettcher c5380674df vbox: add network support
- support e1000 model by default and add support for pcnet model
- add Genode xml config option to enable network models

Fixes #1201
2014-07-24 10:18:06 +02:00
Alexander Boettcher 46124546f0 vbox: support to disable acpi
Issue #1201
2014-07-24 10:18:06 +02:00
Alexander Boettcher b8f6abc714 vbox: disable some exits to get TinyCore running 2014-07-09 16:26:06 +02:00
Alexander Boettcher 21e9eebf25 vbox: add LPT3 to ioport whitelist 2014-07-09 16:26:06 +02:00
Alexander Boettcher 6f75bb750a vbox: mouse queue quirk 2014-07-09 16:26:05 +02:00
Alexander Boettcher ca9f0ba89c os: extend on_alarm() by unsigned count value
The count value can be used to batch timeouts. I.e., if a periodic
timeout triggered multiple times before the timer had a chance to
process them, the count corresponds to the number of passed periods.
2014-07-09 16:26:05 +02:00
Alexander Boettcher 671e36bc45 vbox: disable ioapic support by default
and add xml configuration option to switch it on if required. Avoids trouble
on Windows 7 guest where IRQ injected by VMMDev PCI device is not delivered.

If ioapic is required and Windows guest addition "hangs", look in file
DevPCI.cpp, function pciSetIrqInternal, variable fIsApicEnabled. If

config[0xde] == 0xbe
config[0xad] == 0xef

it works. "Deadbeaf" seems to/should be set in ACPI file vbox.dsl. Happens for
unknown reason not on Genode/Nova.

Fixes #1188
2014-06-26 12:06:00 +02:00
Alexander Boettcher f0c7eccdc7 vbox: save/restore fpu state of EMT thread
Issue #1188
2014-06-26 12:05:43 +02:00
Alexander Boettcher 149f199735 vbox: rework irq injection code
Issue #1188
2014-06-26 12:05:24 +02:00
Alexander Boettcher 3a8bf754e1 vbox: workaround for bug in Windows guest addition
In file

src/VBox/Additions/WINNT/SharedFolders/driver/file.c

the function

static int vbsfTransferCommon(VBSFTRANSFERCTX *pCtx)

in the

VbglR0CanUsePhysPageList()

branch does not correctly evaluate the read or written bytes from
the VMM. It ever assumes that whole pages are read/written.

Workaround the bug in the Windows guest additions of Vbox until fixed
upstream by filling up the read/write buffer completely within the VMM code
of Vbox.

Fixes #1176
2014-06-26 10:57:24 +02:00
Alexander Boettcher 5922617eab vbox: add test for shared folders
Issue #1176
2014-06-26 10:57:24 +02:00
Alexander Boettcher f2d38443f7 vbox: fix share-folder setup 2014-05-28 14:57:05 +02:00
Christian Helmuth a42a5995cf vbox: enable guest additions
Fixes #1157
2014-05-27 13:45:58 +02:00
Norman Feske 6adbb9e438 ports: migrate to new ports mechanism
Issue #1082
2014-05-27 11:14:43 +02:00
Norman Feske ca971bbfd8 Move repositories to 'repos/' subdirectory
This patch changes the top-level directory layout as a preparatory
step for improving the tools for managing 3rd-party source codes.
The rationale is described in the issue referenced below.

Issue #1082
2014-05-14 16:08:00 +02:00