#
1.22 |
|
01-Sep-2023 |
dv |
vmd(8): ignore masks on asserts, use synchronous deasserts.
The i8259 was considering the state of the mask register when a device requested raising the bit in the interrupt request register. This caused a race condition where if the virtio device asserted the irq while it was masked in the i8259 by the vm, we'd miss the interrupt request. The device and the pic would become out of sync and users reported virtio block device stalls as the vioblk(4) driver would starve, waiting for an interrupt that will never arrive.
The mask is now considered only at ack time, when finding possible interrupts to inject. This bug was never a problem previously as virtio devices were emulated synchronously.
Deasserts related to the vcpu reading the virtio isr register are also made now in response to the read request instead of issued asynchronously. This removes a subsequent race condition.
Testing from mbuhl@, stsp@, and Florian Riehm.
ok mlarkin@
|
Revision tags: OPENBSD_7_3_BASE
|
#
1.21 |
|
10-Nov-2022 |
mbuhl |
Initialize data before passing it to get_input_data. Strictly speaking this is not necessary as all used bits of the uint32_t are zeroed. ok mlarkin
|
Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.20 |
|
16-Jun-2021 |
dv |
cleanup vmd(8) includes and header files
Lots of organic growth other the years lead to unnecessary includes (proc.h everywhere) and odd dependencies between header files. This cleans things up a bit to help with upcoming cleanup around dhcp code.
No functional change.
"go for it" mlarkin@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
|
#
1.19 |
|
12-Jul-2018 |
mlarkin |
vmm(8)/vmm(4): send a copy of the guest register state to vmd on exit, avoiding multiple readregs ioctls back to vmm in case register content is needed subsequently.
ok phessler
|
#
1.18 |
|
19-Jun-2018 |
reyk |
knf
|
#
1.17 |
|
27-Apr-2018 |
mlarkin |
vmd(8): implement vmd side of ELCR registers
ok guenther
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|
#
1.21 |
|
10-Nov-2022 |
mbuhl |
Initialize data before passing it to get_input_data. Strictly speaking this is not necessary as all used bits of the uint32_t are zeroed. ok mlarkin
|
Revision tags: OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.20 |
|
16-Jun-2021 |
dv |
cleanup vmd(8) includes and header files
Lots of organic growth other the years lead to unnecessary includes (proc.h everywhere) and odd dependencies between header files. This cleans things up a bit to help with upcoming cleanup around dhcp code.
No functional change.
"go for it" mlarkin@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
|
#
1.19 |
|
12-Jul-2018 |
mlarkin |
vmm(8)/vmm(4): send a copy of the guest register state to vmd on exit, avoiding multiple readregs ioctls back to vmm in case register content is needed subsequently.
ok phessler
|
#
1.18 |
|
19-Jun-2018 |
reyk |
knf
|
#
1.17 |
|
27-Apr-2018 |
mlarkin |
vmd(8): implement vmd side of ELCR registers
ok guenther
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|
#
1.20 |
|
16-Jun-2021 |
dv |
cleanup vmd(8) includes and header files
Lots of organic growth other the years lead to unnecessary includes (proc.h everywhere) and odd dependencies between header files. This cleans things up a bit to help with upcoming cleanup around dhcp code.
No functional change.
"go for it" mlarkin@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
|
#
1.19 |
|
12-Jul-2018 |
mlarkin |
vmm(8)/vmm(4): send a copy of the guest register state to vmd on exit, avoiding multiple readregs ioctls back to vmm in case register content is needed subsequently.
ok phessler
|
#
1.18 |
|
19-Jun-2018 |
reyk |
knf
|
#
1.17 |
|
27-Apr-2018 |
mlarkin |
vmd(8): implement vmd side of ELCR registers
ok guenther
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|
#
1.19 |
|
12-Jul-2018 |
mlarkin |
vmm(8)/vmm(4): send a copy of the guest register state to vmd on exit, avoiding multiple readregs ioctls back to vmm in case register content is needed subsequently.
ok phessler
|
#
1.18 |
|
19-Jun-2018 |
reyk |
knf
|
#
1.17 |
|
27-Apr-2018 |
mlarkin |
vmd(8): implement vmd side of ELCR registers
ok guenther
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|
#
1.18 |
|
19-Jun-2018 |
reyk |
knf
|
#
1.17 |
|
27-Apr-2018 |
mlarkin |
vmd(8): implement vmd side of ELCR registers
ok guenther
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|
#
1.17 |
|
27-Apr-2018 |
mlarkin |
vmd(8): implement vmd side of ELCR registers
ok guenther
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|
#
1.16 |
|
29-Nov-2017 |
mlarkin |
vmd(8): fix broken IRR bit setting for the slave PIC. Noticed by claudio when he tried to make a vm with 4 network interfaces.
ok claudio
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.15 |
|
18-Sep-2017 |
dlg |
protect i8259 state with a mutex.
this allows interrupts to be safely posted by multiple threads.
ok mlarkin@
|
#
1.14 |
|
08-May-2017 |
reyk |
Adds functions to read and write state of devices in vmd.
This is required for implementing vmctl send and vmctl receive. vmctl send / receive are two new options that will support snapshotting VMs and migrating VMs from one host to another. The atomicio files are copied from usr.bin/ssh.
Patch from Pratik Vyas; this project was undertaken at San Jose State University along with his three teammates, Ashwin, Harshada and Siri with mlarkin@ as the advisor.
OK mlarkin@
|
#
1.13 |
|
08-Apr-2017 |
mlarkin |
implement nonspecific EOI mode for the legacy PIC
ok deraadt
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.12 |
|
25-Mar-2017 |
mlarkin |
Last bits needed to get seabios + alpine linux working. This is enough to get started and let more people help finding and fixing bugs.
ok kettenis, deraadt
|
#
1.11 |
|
25-Mar-2017 |
mlarkin |
Introduce a new function to obtain properly sized input data, and convert i8253/i8259/mc146818 emulation to use this.
|
#
1.10 |
|
24-Mar-2017 |
reyk |
Backout mlarkin's previous commit while he is away: The newly-used function get_input_data() is missing and broke the tree.
|
#
1.9 |
|
24-Mar-2017 |
mlarkin |
Last bits of cleanup for linux/seabios support in i8253/i8259 emulation code.
|
#
1.8 |
|
23-Mar-2017 |
mlarkin |
use proper return data size when doing PIC reads - don't clobber %eax high bits.
|
#
1.7 |
|
19-Mar-2017 |
mlarkin |
Handle master/slave PIC vector base properly. OpenBSD uses 0x20/0x28 (respectively). Seabios uses 0x8/0x78 and linux uses 0x30/0x38. Respond properly to PIC vector base assignment and calculate VMX injection vectors based on current values, instead of always assuming OpenBSD defaults.
Needed for both seabios serial console support as well as linux guest support. Tested on -current as is, does not break existing OpenBSD guest support.
|
#
1.6 |
|
19-Mar-2017 |
mlarkin |
Convert some log_warn into log_warnx, and provide pic names (master,slave) in debugging output.
|
#
1.5 |
|
17-Jan-2017 |
krw |
Nuke some whitespace that keeps poking me in the eye as I try to steal code.
|
#
1.4 |
|
20-Nov-2016 |
mlarkin |
Remove some old code that isn't needed anymore.
|
#
1.3 |
|
03-Oct-2016 |
mlarkin |
add RCS tags
|
#
1.2 |
|
01-Sep-2016 |
mlarkin |
change some log_warn to log_warnx and convert some integer literals to enumerand values
|
#
1.1 |
|
01-Sep-2016 |
mlarkin |
Add a set of emulated legacy devices (PIT, PIC, RTC)
discussed with stefan and deraadt
|