Pardon my impatience -- I am a newbie and I don't really know what
should happen next (if anything?). I have skipped any introduction from
my original email, imitating the communication style in this list --
straight to the point and because it was already long.

Although this is my first patch to OpenBSD I am familiar with inner
workings of operating systems from few books[1] and commercial
development of a driver for Windows (CE and NT) back in 2005.  Thanks to
the very clear organization of OpenBSD code it is a pleasure to study
and figure things out.

I have spent a week on massaging this problem, discovering corner cases,
testing and ironing out regressions. I did my best to keep the patch at
minimum while retaining correctness and clarity. Some changes like the
move of t_keymap field (apart from the change of type) were done to
re-align it with NetBSD. I was in doubt about locking, but tracing the
path of ioctl handling I have not found anything preventing two CPU
cores from executing wskbd ioctls in parallel on amd64 (and it is a
NOLOCK syscall). In fact, now I wonder why wskbd_softc is not protected.

Now a little bit on the motivation...

My current day job does not involve system programming anymore and I
miss it often. Also, with kids growing up I feel I can afford to
contribute to important open projects with my experience and skills.  I
fiddle with OpenBSD for a long time and I admire how simple, stable and
well-documented it is. In our age of pervasive electronic waste, robust
software often makes a difference between a useful computer and garbage.

I realize that changes in wscons related to custom keymaps and USB
keyboards is something of little priority.  Nevertheless, this is one
annoying thing I randomly picked up and got to the bottom of it on my
short staycation and it was a sufficiently low entry barrier. I hope
it may be useful for other OpenBSD users, especially on laptop computers
which may not have a USB keyboard connected yet at boot time.

My longer-term aspiration is extending and maintaining hardware
support, especially on ARM (I own a Pinebook Pro and few RPis).

I would appreciate a bit of guidance or feedback.


Best regards,
Sergii Rudchenko

[1] Of which the most prominent are:
- "Modern Operating Systems (3rd edition)" by Andrew S. Tannenbaum
- "The Design And Implementation Of The Freebsd Operating System"
    by Marshall Kirk McKusick and George V. Neville-Neil
- "Linux Kernel Development (2nd edition)" by Robert Love 

P.S. Sorry for the git patch with a prefix, I came across
https://www.openbsd.org/faq/faq5.html#Diff too late. As far I understand
it should be fine with -p1

Reply via email to