diff options
Diffstat (limited to 'usr.sbin/lsdev/i386.c')
| -rw-r--r-- | usr.sbin/lsdev/i386.c | 52 |
1 files changed, 33 insertions, 19 deletions
diff --git a/usr.sbin/lsdev/i386.c b/usr.sbin/lsdev/i386.c index 221e27995251..037efeea612b 100644 --- a/usr.sbin/lsdev/i386.c +++ b/usr.sbin/lsdev/i386.c @@ -1,6 +1,7 @@ #include "lsdev.h" #include <stdio.h> #include <string.h> +#include <machine/vmparam.h> static void print_isa(struct devconf *); static void print_eisa(struct devconf *); @@ -9,22 +10,32 @@ static void print_scsi(struct devconf *); static void print_disk(struct devconf *); void -print(struct devconf *dc) +hprint_config(void) +{ + printf("# This listing automatically generated by lsdev(1)\n"); +} + +void +print_config(struct devconf *dc) { if(vflag) printf("%d: ", dc->dc_number); switch(dc->dc_devtype) { case MDDT_CPU: - printf("CPU %s%d", dc->dc_name, dc->dc_unit); + printf("# CPU %s%d", dc->dc_name, dc->dc_unit); + break; + case MDDT_BUS: + printf("controller %s%d", dc->dc_name, dc->dc_unit); break; case MDDT_ISA: if(dc->dc_datalen >= ISA_EXTERNALLEN) { print_isa(dc); } else { printit: - printf("%s%d at %s", - dc->dc_name, dc->dc_unit, dc->dc_parent); + printf("%s%d at %s%d", + dc->dc_name, dc->dc_unit, dc->dc_pname, + dc->dc_punit); } break; case MDDT_EISA: @@ -58,13 +69,14 @@ printit: default: if(dc->dc_devtype >= NDEVTYPES) { - printf("%s%d (#%d) at %s", + printf("%s%d (#%d) at %s%d", dc->dc_name, dc->dc_unit, dc->dc_devtype, - dc->dc_parent); + dc->dc_pname, dc->dc_punit); } else { - printf("%s%d (%s) at %s", + printf("%s%d (%s) at %s%d", dc->dc_name, dc->dc_unit, - devtypes[dc->dc_devtype], dc->dc_parent); + devtypes[dc->dc_devtype], dc->dc_pname, + dc->dc_punit); } break; } @@ -76,7 +88,11 @@ print_isa(struct devconf *dc) { struct isa_device *id = (struct isa_device *)dc->dc_data; - printf("%s%d at isa?", dc->dc_name, dc->dc_unit); + printf("%s%d\tat isa?", dc->dc_name, dc->dc_unit); + + if(dc->dc_md.mddc_imask[0]) { + printf(" %3.3s", dc->dc_md.mddc_imask); + } if(vflag) { printf(" (id %d)", id->id_id); @@ -100,19 +116,16 @@ print_isa(struct devconf *dc) } } - if(id->id_drq) { - if(id->id_drq < 0) { - printf(" drq ?"); - } else { - printf(" drq %d", id->id_drq); - } + if(id->id_drq >= 0) { + printf(" drq %d", id->id_drq); } if(id->id_maddr) { if((unsigned long)id->id_maddr == ~0UL) { printf(" iomem ?"); } else { - printf(" iomem 0x%lx", (unsigned long)id->id_maddr); + printf(" iomem 0x%lx", + (unsigned long)id->id_maddr & ~KERNBASE); } } @@ -151,7 +164,8 @@ print_pci(struct devconf *dc) * be made to serve. */ - printf("%s%d %s", dc->dc_name, dc->dc_unit, dc->dc_parent); + printf("%s%d at %s%d", dc->dc_name, dc->dc_unit, dc->dc_pname, + dc->dc_punit); } static void @@ -177,7 +191,7 @@ print_disk(struct devconf *dc) { int *slavep = (int *)dc->dc_data; - printf("%s%d at %s drive %d", - dc->dc_name, dc->dc_unit, dc->dc_parent, *slavep); + printf("%s%d at %s%d drive %d", + dc->dc_name, dc->dc_unit, dc->dc_pname, dc->dc_punit, *slavep); } |
