void setup_pseudo_devices(void) { devfs_register_device(NULL, "stdin", 0444, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &stdin_ops); devfs_register_device(NULL, "stdout", 0222, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &stdout_ops); devfs_register_device(NULL, "stderr", 0222, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &stderr_ops); devfs_register_device(NULL, "null", 0666, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &null_ops); devfs_register_device(NULL, "zero", 0666, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &zero_ops); setup_urandom_file(); }
void setup_serial(void) { if (detect_serial_port(COM1)) set_device_pdata(devfs_register_device(NULL, "ttyS0", 0660, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &serial_ops), (void *)COM1); if (detect_serial_port(COM2)) set_device_pdata(devfs_register_device(NULL, "ttyS1", 0660, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &serial_ops), (void *)COM2); if (detect_serial_port(COM3)) set_device_pdata(devfs_register_device(NULL, "ttyS2", 0660, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &serial_ops), (void *)COM3); if (detect_serial_port(COM4)) set_device_pdata(devfs_register_device(NULL, "ttyS3", 0660, FS_UID_ROOT, FS_GID_ROOT, FS_CHARDEVICE, &serial_ops), (void *)COM4); }
void setup_floppy(void) { outportb(0x70,0x10); if (!inportb(0x71)) return; register_interrupt_handler(IRQ6,FloppyIRQ); reset(); devfs_handle *dev=devfs_register_device(NULL,"fd0",0660,FS_UID_ROOT,FS_GID_ROOT,FS_BLOCKDEVICE,&floppy_ops); dev->bcount=FLOPPY_SECTOR_COUNT; dev->bsize=FLOPPY_SECTOR_SIZE; }