After a little head scratching I have a good working setup and some good news on xdm support in 3.9.
It works fairly reliably, you *EDIT see next post*don't need to disable any ttys in /etc/ttys*/EDIT* and you can switch consoles without it hanging up but you MUST do the following once you have enabled xdm in rc.conf...
edit
/etc/X11/xdm/Xservers
and change the line saying...
:0 local /usr/X11R6/bin/X
to...
:0 local /usr/X11R6/bin/X vt01
this seems to be an ommision from the config... without the vt01 flag xdm will find the first available vt (vt02 or ttyC1), unfortunately the wsfb driver for Xorg is set to use /dev/ttyC0 and causes problems with that console if left to run on ttyC1.
Specifying vt01 on the line ensures that the X server that xdm starts runs on vt01 or ttyC0 (as configured in the xorg.conf file)... and ensures correct behaviour... since this doesn't effect ttyC1 now you can switch over to it should you want a text login by using Ctrl-Alt-F2.
Ctrl-Alt-F1 takes you back to your X session then
or of course if you don't run xdm then you can benefit from the warning NOT to run your X session on ttyC1 if you intend to switch to ttyC0 since this, like the initial xdm config will screw up the keyboard input on ttyC0.
- Andy