--- a/include/linux/vt.h +++ b/include/linux/vt.h @@ -18,8 +18,19 @@ extern int unregister_vt_notifier(struct * resizing). */ #define MIN_NR_CONSOLES 1 /* must be at least 1 */ +#if (CONFIG_NR_TTY_DEVICES < 4) +/* Lower Limit */ +#define MAX_NR_CONSOLES 4 /* serial lines start at 64 */ +#define MAX_NR_USER_CONSOLES 4 /* must be root to allocate above this */ +#elif (CONFIG_NR_TTY_DEVICES > 63) +/* Upper Limit */ #define MAX_NR_CONSOLES 63 /* serial lines start at 64 */ #define MAX_NR_USER_CONSOLES 63 /* must be root to allocate above this */ +#else +/* They chose a sensible number */ +#define MAX_NR_CONSOLES CONFIG_NR_TTY_DEVICES +#define MAX_NR_USER_CONSOLES CONFIG_NR_TTY_DEVICES +#endif /* Note: the ioctl VT_GETSTATE does not work for consoles 16 and higher (since it returns a short) */ --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -66,6 +66,18 @@ config VT_CONSOLE If unsure, say Y. +config NR_TTY_DEVICES + int "Maximum tty device number" + depends on VT + default 63 + ---help--- + This is the highest numbered device created in /dev. You will actually have + NR_TTY_DEVICES+1 devices in /dev. The default is 63, which will result in + 64 /dev entries. The lowest number you can set is 11, anything below that, + and it will default to 11. 63 is also the upper limit so we don't overrun + the serial consoles. + + config HW_CONSOLE bool depends on VT && !S390 && !UML