Wednesday, September 19, 2007

Oh my, where did that year go?

Oops - I thought his would happen. Never was one for a regular diary, oh well.

The generic hook stuff looks like it won't be going anywhere, too bad. Wasn't really that much work to port it and it passed the time on the train.

Per-page veriexec is in a much better state now, it works fine and is stable but it depends on other modifications which I need to get in first.

I need to post up some diffs on some work I did to unify the bottom ends of genfs_getpages() and uvm_aio_iodone() into a single routine that is called from both. This gives me an ideal place to put a hook to check pages coming in from storage. This function has gone through a few rounds of refinement - teasing out a bit of code that is mostly the same but slightly different between the two uses is a bit hairy, getting a sane argument list (or even understanding the purpose of some of the arguments) has required a bit of work.

The thing that started me thinking about my blog again was this article

Way to go Symantec - NetBSD has been able to do this for years, great to see that the Windows world may actually be innovating their way to where we have been for a long time.

Other NetBSD stuff done over the last year includes integrating wide curses support. This was originally done by a student as a Google Summer of Code project and was supposed to be integrated soon after the SoC finished but it never happened. I finally had a combination of spare time and will to make it happen, the code integration was not too hard and, all in all, there was not much pain and lossage resultant. We still have what looks like a refresh bug but it seems to be relatively rare but I really need to look at it before the release with wcurses gets kicked out.

Also been messing with ACPI on my laptop recently, nasty thing refuses to go to sleep or power off. After trawling through the debug it seems that it is spinning on trying to power down the PCI bus. I am unsure why the bus never sleeps, it works fine in Windows (no surprise). I followed the instructions and extracted the AML from memory and hacked it to take out the PCI bus shutdowns. With the modified code the machine sleeps and powers off, the only problem is that the back light does not turn on when recovering from a sleep (S3). Even the trick of setting a bios password does not help. Another developer has a tool that is supposed to reset the video card, I will try and get a copy of that and see if it helps - if it does then running the tool on wakeup is not hard to arrange.