Some fix­es to lin­ux­u­la­tor stuff

Today I fixed 3 lin­ux ports (con­vert­ing to the “new” world order) to not use RPM direct­ly (the right thing is to use rpm2cpio, and bsd.linux-rpm.mk pro­vides some nice stuff to han­dle this).

In the last week I fixed some stuff in the linuxulator-MFC patch. It should now com­pile on amd64 and i386 with­out prob­lems (at least the code which I have local­ly). There’s one (strange) pan­ic report which I want to ana­lyze and fix (if it is lin­ux­u­la­tor relat­ed) with Roman before I update the patch on my site.

Some fix­es for the lin­ux­o­la­tor after test­ing by users

After the call for pub­lic test­ing we got some reports about LORs and a pan­ic. This hap­pened after an exten­sive par­al­lel com­pil­ing ses­sion of lin­ux stuff on a SMP sys­tem for sev­er­al hours. Roman redid some of the lock­ing and the fix­es are in the tree. Inter­me­di­ate patch­es already showed promis­ing results. We’re wait­ing for the test of the com­mit­ted solu­tion now.

Yes­ter­day we also got reports about seg­faults with lin­ux Java 5 and 6. This is under inves­ti­ga­tion (any debug­ging help would be appre­ci­at­ed, Java is a large beast).

I also noticed that we don’t have the results of a LTP run of a native Lin­ux sys­tem in the wiki. It would be very nice to have this, as it would allow us to see bro­ken test cas­es (Roman thinks the ope­nat tests are flawed) or at least we see where it does­n’t mat­ter much that we don’t PASS.

Lin­ux mod­ules now usable on amd64

Today I removed the LINUX stuff from GENERIC on amd64 (this syncs with i386). Now that kib@ com­mit­ted the ker­nel link­er stuff the lin­ux mod­ule is usable on amd64 too. This allows for more easy testing/patching on amd64 and also allows on-demand-loading like on i386.

lin­ux­o­la­tor SoC work committed

I com­mit­ted most of Romans work in the lin­ux­o­la­tor to cur­rent. The new syscalls aren’t used until you run

sysctl compat.linux.osrelease=2.6.16

to switch back (after exit­ing all lin­ux pro­grams) you just have to run

sysctl compat.linux.osrelease=2.4.2

But you have to do this on i386. Amd64 sup­port is not com­plete (and besides this, amd64 is still bro­ken and nobody pro­vid­ed the nec­ces­sary debug­ging info to jhb@).

There are some known prob­lems with osrelease=2.6.16, e.g., prob­lems with futex­es (vis­i­ble in acrore­ad, realplay and skype), but some pro­grams already run with­out obvi­ous prob­lems (linux-firefox, linux-opera).

Any reports about new prob­lems to netchild@ and rdivacky@ please. Reviews, debug­ging info and patch­es are wel­come too.

I got some­thing done in the last days

Wow, some of the TODO items in the last post are done:

  • emu10k1 low­er pri­or­i­ty on attach (allows emu10kx to attach when loaded too)
  • sade com­mit­ted (and code improved)

And I did some more things:

  • emu10kx fix­es (sub­mit­ted by Yuriy)
  • enhance­ment of the bsd to lin­ux errno map­ping (sub­mit­ted by “Intron”)
  • added some more files to ObsoleteFiles.inc (sub­mit­ted by kris@)
  • had a look at linux_kdump and deter­mined that we should update it with what we have in ‑cur­rent

There’s also a sub­mis­sion of sup­port for Envy24HT chips from Kon­stan­tin (he also has a page with a lot of docs for envy* chips).