UEFI on Simics

By Jakob Engblom  This week, at the Intel Development Forum in San Francisco, we are announcing the upcoming availability of UEFI support in the Simics source code debugger. It is thus a good time to talk a bit more about UEFI and UEFI debug. UEFI is the modern BIOS standard that is finally starting to replace classic BIOS in PCs…

Back to Reverse Execution

By Jakob Engblom  Simics reverse execution and reverse debugging is a unique and very powerful feature of the simulator. In this blog post and accompanying video, we will look at what exactly it is you can do with reverse execution in Simics. It is not just a matter of running backwards to a breakpoint or stepping instructions (pick up my 2012 S4D article for…

How Simics Gets Started (with video)

By Jakob Engblom ?Having worked with Simics for more than a decade, it is easy to get blind to the obvious. To me, starting a Simics simulation is a trivial thing that I do many times per day. However, to a newcomer to the product, it is not so obvious, and it might even seem a bit daunting. It is…

Inspecting and Reconfiguring a Target in Simics 4.8

By Jakob Engblom  As we said in the first blog post on Simics 4.8, a really big new feature is the System Editor function. The system editor combines two functions into a single view, both the exploration of an existing target as well as the modification and even construction of a new target from existing pieces. A demo video is available on the Wind River channel on YouTube,…

Collaborating using Simics Recording Checkpoints

By Jakob Engblom One of the main themes of the Simics 4.8 release is the use of Simics to collaborate between team members, teams, and organizations. To facilitate this, Simics checkpoints have been extended with significant new metadata capabilities as well as the ability to record a simulation session and communicate the recording as part of a checkpoint. Checkpointing can really transform how…

Simics 4.8 is Here

By Jakob Engblom Simics 4.8 is now generally available for old and new users to enjoy. I will be doing a series of blog posts going into the details on what is new and improved in this release. Simics 4.8 represents a significant improvement in the Simics user interface and collaboration features, as well as tweaks to the simulator performance,…

Serving Windows Files from a Simics Quick-Start Platform

By Jakob Engblom Windows file sharing has always felt a bit magical to me. I use it all the time, certainly, but I never quite understood how it worked; it was just this big chunk of Microsoft protocol that felt like it really did not want to talk to other types of operating systems. Sure, I have used the open-source…

A Better way to Connect: TCF and Simics

By Jakob Engblom How do you actually connect an integrated development environment or a debugger to a target system? This question is more complicated than it might seem to the uninitiated outsider. Traditionally, a range of protocols have been used to connect the development host to a target, most of them vendor-proprietary, and often specialized for a particular purpose (such…

Debug Quicker with Simics (video demo)

By Jakob Engblom Late last year, I presented a one-hour webinar on how Simics lets you “resolve bugs in minutes instead of weeks.” Part of that webinar were two Simics demos that show Simics in action, from the first booting of a target system through loading software onto it and debugging a nasty crash in a server program. The webinar demos…

Debugging Simics — on Simics

By Jakob Engblom I often write and talk about how useful Simics is for debugging concurrency bugs and glitches in multithreaded and multicore systems. Recently, we had a case where we proved this on a very complex application, namely Simics itself. This nicely demonstrated both the recursive completeness of Simics, and its usefulness for conquering tricky bugs in complex software.…