Archive for May, 2006

GPT and scc(4).

Saturday, May 27th, 2006

I really need to finish the gctl functionality for GPT. With EFI on ia32 a reality (i.e. Mac Books) and in the hands of users, I feel I need to get this off my plate. All I need to do is have the changes actually hit the disk and provide a means to query the current configuration. Everything else is already there. Buying a Mac Book Pro may be a good trigger. I’ve been thinking about it for a while. It would also allow me to port the EFI support to ia32. The upshot of getting a Mac Book Pro is that I have my PowerBook G4 free to get scc(4) with uart(4) to work on it. Why these two unrelated things are connected to each other in my head, I don’t know…

busdma and I/O MMU

Thursday, May 25th, 2006

We generally don’t use the I/O MMU on chipsets that have them. The exception is on sparc64. The I/O MMU allows us more freedom in allocating memory for DMA operations by programming the I/O MMU in such a way that the (possibly scattered fragments) appear as a contiguous block of memory that is within reach of the device that does the DMA. It seems to me that the function of the I/O MMU can be abstracted and handled by a KOBJ interface. This would allow a generic and/or machine independent busdma implementation while still being able to make use of machine dependent hardware and when no such hardware (i.e. the I/O MMU) is present or supported to fall back to bounce buffers and/or the use of contigmalloc(). Detection of I/O MMUs would happen at bus enumeration time and may in fact happen after the detection of a device that uses busdma. This may not yield the desired behaviour. Multi-pass bus enumeration may help us here and seems to be mentioned in other contexts too as a way of resolving problems. The question is whether we can get rid of the almost identical implementations of busdma that we have for the platforms that we support when we use such a KOBJ interface?

Hooked up

Wednesday, May 24th, 2006

Brainwaves… There’s hardly a day I don’t think about FreeBSD. Thoughts vary from things on my plate and how I didn’t get a chance of working on them to things of such grandeur that I really must have been dreaming. And, yes. Now I feel a need to share them with you. Isn’t that just horrible…