{"id":648,"date":"2026-02-27T05:37:30","date_gmt":"2026-02-26T18:37:30","guid":{"rendered":"https:\/\/securelang.net\/cms\/?p=648"},"modified":"2026-02-27T05:37:30","modified_gmt":"2026-02-26T18:37:30","slug":"great-progress-overnight","status":"publish","type":"post","link":"https:\/\/securelang.net\/cms\/blog\/2026\/02\/27\/great-progress-overnight\/","title":{"rendered":"Great Progress Overnight"},"content":{"rendered":"\n<p>Following some early success with the port to RVVM emulator target I kept going and now have nearly enough hardware working:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Framebuffer &amp; RTC are now configured at boot time from the device tree blob (when available)<\/li>\n\n\n\n<li>The network stack (previously ported to the kernel for reading on QEMU) now appears to start correctly on RVVM but without ethernet drivers at this stage<\/li>\n\n\n\n<li>The OpenCores interface for I2C is partly operational\/partly configured<\/li>\n\n\n\n<li>First contact has been made with the (virtualised) input devices over I2C, but haven&#8217;t finished drivers for those yet<\/li>\n<\/ul>\n\n\n\n<p>In summary this means a GUI demo will soon be feasible but I haven&#8217;t figured out a plan for one yet aside from finishing the graphics &amp; input drivers.<\/p>\n\n\n\n<p>Disk, audio etc. could present further problems for this port but RVVM appears to be a good platform for this stage of driver development.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Following some early success with the port to RVVM emulator target I kept going and now have nearly enough hardware working: In summary this means a GUI demo will soon be feasible but I haven&#8217;t figured out a plan for one yet aside from finishing the graphics &amp; input drivers. Disk, audio etc. could present [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-648","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/comments?post=648"}],"version-history":[{"count":1,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/648\/revisions"}],"predecessor-version":[{"id":649,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/posts\/648\/revisions\/649"}],"wp:attachment":[{"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/media?parent=648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/categories?post=648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securelang.net\/cms\/wp-json\/wp\/v2\/tags?post=648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}