summaryrefslogtreecommitdiff
path: root/usr.sbin/lsdev/i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/lsdev/i386.c')
-rw-r--r--usr.sbin/lsdev/i386.c52
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);
}