<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to Project Bochs x86 PC emulator</title><link href="https://sourceforge.net/p/bochs/" rel="alternate"/><link href="https://sourceforge.net/p/bochs/feed.atom" rel="self"/><id>https://sourceforge.net/p/bochs/</id><updated>2026-11-10T20:19:25.872000Z</updated><subtitle>Recent changes to Project Bochs x86 PC emulator</subtitle><entry><title>#360 New instrumentation call for DMA transfers</title><link href="https://sourceforge.net/p/bochs/patches/360/?limit=25#273a" rel="alternate"/><published>2026-11-10T20:19:25.872000Z</published><updated>2026-11-10T20:19:25.872000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.net29e66a6d629a23db6e17bc3ce97fc579a003a706</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;:  --&amp;gt; applied_to_SVN&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#360 New instrumentation call for DMA transfers</title><link href="https://sourceforge.net/p/bochs/patches/360/?limit=25#b913" rel="alternate"/><published>2026-11-10T20:19:05.625000Z</published><updated>2026-11-10T20:19:05.625000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.net34c6a8882ddab27ee92decbfda2c2438618e6efc</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Implemented in git&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#236 [PATCH] rewrite eth_fbsd.cc (using netgraph)</title><link href="https://sourceforge.net/p/bochs/patches/236/?limit=25#4cc3" rel="alternate"/><published>2026-11-08T20:35:44.661000Z</published><updated>2026-11-08T20:35:44.661000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.netcb2c6867977fe85640f82ba3ad357e1a256795e2</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;Description has changed:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diff:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gd"&gt;--- old&lt;/span&gt;
&lt;span class="gi"&gt;+++ new&lt;/span&gt;
&lt;span class="gu"&gt;@@ -1,4 +1,3 @@&lt;/span&gt;
&lt;span class="gd"&gt;-&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;  By using netgraph, some limitations from bpf method 
&lt;span class="w"&gt; &lt;/span&gt;are removed. Bochs
&lt;span class="w"&gt; &lt;/span&gt;ne2k works as it were a real adapter attached on the 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;:  --&amp;gt; rejected&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#236 [PATCH] rewrite eth_fbsd.cc (using netgraph)</title><link href="https://sourceforge.net/p/bochs/patches/236/?limit=25#28bd" rel="alternate"/><published>2026-11-08T20:35:30.912000Z</published><updated>2026-11-08T20:35:30.912000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.netd75eb62ff874f18df01a7421dcdd5c4c62db4262</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;obsolete, if you have updated one - please submit in github&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#478 Display Host/Guest mode on GUI debugger</title><link href="https://sourceforge.net/p/bochs/patches/478/?limit=25#a059" rel="alternate"/><published>2026-11-04T20:50:13.154000Z</published><updated>2026-11-04T20:50:13.154000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.netf0b5ff26a22ed1ef3b862bd381e6d5359aa18ae3</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;assigned_to&lt;/strong&gt;: Stanislav Shwartsman&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;:  --&amp;gt; applied_to_SVN&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#478 Display Host/Guest mode on GUI debugger</title><link href="https://sourceforge.net/p/bochs/patches/478/?limit=25#93d0" rel="alternate"/><published>2026-11-04T20:50:02.537000Z</published><updated>2026-11-04T20:50:02.537000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.net29880c9195484c0cdad8b9fda83a03324bd3a206</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Implemented different way now&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#419 Save and restore window positions</title><link href="https://sourceforge.net/p/bochs/feature-requests/419/?limit=25#a110" rel="alternate"/><published>2026-10-31T15:08:29.750000Z</published><updated>2026-10-31T15:08:29.750000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.neteb652e0c97902259ee2ba485e6578e8f128f39c7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; wont-fix&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;:  --&amp;gt; nice_to_have&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#1181 PCI interrupts go to multiple IOAPIC entries w/ bad trigger</title><link href="https://sourceforge.net/p/bochs/bugs/1181/?limit=25#8755" rel="alternate"/><published>2026-10-28T16:27:05.256000Z</published><updated>2026-10-28T16:27:05.256000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.net085055add066a5810bbdc2a38c5f4c0995c2577b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;What the report says, against current code&lt;/p&gt;
&lt;p&gt;PCI interrupts do still reach two I/O APIC inputs:&lt;br/&gt;
pci_set_irq() drives input 16 + pirq (pci2isa.cc:224).&lt;br/&gt;
The routed ISA IRQ then goes through DEV_pic_set_irq_level(). raise_irq() and lower_irq() forward it to I/O APIC input X (pic.cc:498, pic.cc:474).&lt;br/&gt;
The recent fixes didn’t change this dual routing. They are 79b10b2b9 (Remote IRR, moving asserted PIRQ lines when the routing changes), 862acecfa (a level-triggered entry whose line is already high is pending) and 52662b8fc. They do make level-triggered delivery on input X more correct.&lt;/p&gt;
&lt;p&gt;Why it’s not really a bug&lt;/p&gt;
&lt;p&gt;The I/O APIC never picks a trigger mode itself; the guest programs it. Bochs reports input 16–19 interrupts in neither its MP table nor its ACPI tables:&lt;br/&gt;
ACPI: _PRT sends every PCI pin through the LNKA–LNKD link devices to ISA IRQs (Level, ActiveLow). There’s no _PIC method and no input 16+ routing, so an ACPI guest in APIC mode always uses input X.&lt;br/&gt;
MP table: it has only 15 ISA entries with flags 0 (bus default, which means edge / active high for ISA) and no PCI bus interrupt entries (rombios32.c:1377).&lt;br/&gt;
So guests always use input X. Input X forwarding can’t be removed without breaking every APIC-mode guest; QEMU’s PIIX model works the same way. Inputs 16–19 stay masked from reset, so a second interrupt can only happen if the guest unmasks them itself.&lt;/p&gt;
&lt;p&gt;What’s left of the complaint&lt;br/&gt;
The reporter’s “bad trigger” comes from the MP table. A guest that uses only the MP table is told that PCI IRQs 9 and 11 are edge-triggered ISA interrupts, while the ELCR marks them level-triggered (rombios32.c:865). With a shared line in edge mode, an interrupt can be lost if a second device asserts while the line is already high.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#1336 Sending EOI to Local APIC acts that all interrupts is complete</title><link href="https://sourceforge.net/p/bochs/bugs/1336/?limit=25#5866" rel="alternate"/><published>2026-10-26T21:16:26.276000Z</published><updated>2026-10-26T21:16:26.276000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.net66e0f37176580de2888ab86b5ae347d5e645c3a7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: unread --&amp;gt; closed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;: can't_reproduce --&amp;gt; fixed_in_SVN&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</summary></entry><entry><title>#1336 Sending EOI to Local APIC acts that all interrupts is complete</title><link href="https://sourceforge.net/p/bochs/bugs/1336/?limit=25#12a1" rel="alternate"/><published>2026-10-26T21:16:12.653000Z</published><updated>2026-10-26T21:16:12.653000Z</updated><author><name>Stanislav Shwartsman</name><uri>https://sourceforge.net/u/sshwarts/</uri></author><id>https://sourceforge.netecd8fcfd1037d9f083696ecb1bd81d59c3e22766</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Fixed by 4e4a0f309 and 79b10b2b9 / 1cd5b8d5e&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>