Trying to improve x49gp
|
08-23-2018, 05:44 PM
Post: #29
|
|||
|
|||
RE: Trying to improve x49gp
3 months - I got sidetracked, obviously ...
But I do have a few fixes for x49gp in store, and I want to get them out there. Originally I wanted to push them out together with a proper QEMU update, but it looks like I've failed completing that for the second time, so I'll have to settle for the duct tape. Let's get started with the easy stuff. Code: Fix some silly but fortunately inconsequential mistakes in recently added comments and similarly recently changed Makefile recipes The Makefile part was caused by me having a target for $(TARGET).man.gz - seeing many such compressed man-pages in my system directories, I tried to mirror them and install a compressed version of the man-page. I later saw that other projects don't do that; it's the package manager compressing them for me. As a result, I deleted the rule for compression out of the Makefile, did a find-and-replace from ".gz" to "" to update the install targets - and forgot about the distclean targets (which were affected by the find-and-replace operation too). No big deal though, removing something twice doesn't hurt anyone when failures due to missing files are ignored anyway, so it all worked just fine. Removing the repetition merely makes the Makefile cleaner. Code: Remove the option to build with QEMU 0.9.0, it was very broken anyway Code: Update gdbstub to the appropriate QEMU 0.12.50 revision Code: Fix some warnings in block-*.c which caused compilation failures via -Werror You might wonder why I wrote "(back-)port" instead of "backport". One of the three QEMU commits mentioned in my commit message is actually older than the version 0.12.50 used in x49gp, which makes this technically not a backport - but similar to the gdbstub.* files the block-*.c files have been copied out of 0.9.0 for heavy modification and were lightly touched up in the 0.12.50 update, so this fix was not present in the modified files. Updating the gdbstub part is done now, but the block drivers seem to be more stubborn - in the gdbstub update I was able to dodge the references to stuff that's stripped out of our QEMU 0.12.50 version by picking bits for system-level and user-level emulation as needed (just like it was originally done in the 0.9.0 version), but it looks like the block drivers won't let me get away so easily. And I believe getting every QEMU part in x49gp to the same version first is the best path towards a QEMU update, sooo ... that's the spot where I failed this time. If someone else wants to look into this QEMU update mess (or if I manage to forget this info and need to look it up somewhere), you'll probably want to know what revision this version 0.12.50 actually refers to. It's somewhere between git commits 576c2cdc (from Jan 15, 2010) and baee019f (from Jan 19, 2010), both inclusive. The files touched inbetween are all stripped out, so getting more precise than that is both impossible and pointless. The old 0.9.0 version used to be shipped with x49gp as a ZIP archive extracted and patched at build time, until I ditched it as part of the second patch in this post (with Git being a distributed version control system the history suffices as a backup); it's also simply the release_0_9_0 tag, as far as I know. The patches are attached, as usual. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)