For the record, I ended up with a functional patch [1]. This removes the reload of DR6/DR7 on each kernel->user transition, and rather does it during context switches, only when dbregs are being used. Tested ATF on i386 and amd64, it works.
Kamil wanted to do extra testing, but basically this patch is close to the final version. [1] http://m00nbsd.net/garbage/dbregs/dbregs.diff