diff options
-rw-r--r-- | lib/libc/src/hyra/disk.c | 19 | ||||
-rw-r--r-- | sys/arch/amd64/amd64/machdep.c | 2 |
2 files changed, 20 insertions, 1 deletions
diff --git a/lib/libc/src/hyra/disk.c b/lib/libc/src/hyra/disk.c index c3bf2ef..c7c7930 100644 --- a/lib/libc/src/hyra/disk.c +++ b/lib/libc/src/hyra/disk.c @@ -104,3 +104,22 @@ disk_read(diskid_t id, blkoff_t blk, void *buf, size_t len) disk_param_init(buf, blk, len, ¶m); return __disk_io(id, DISK_IO_READ, ¶m); } + +/* + * Query information from a specific disk + * + * @id: ID of disk to query from + * @res: Resulting information goes here + */ +int +disk_query(diskid_t id, struct disk_info *res) +{ + struct disk_param param; + + if (res == NULL) { + return -EINVAL; + } + + disk_param_init(res, 0, sizeof(*res), ¶m); + return __disk_io(id, DISK_IO_QUERY, ¶m); +} diff --git a/sys/arch/amd64/amd64/machdep.c b/sys/arch/amd64/amd64/machdep.c index 3338caa..94b2d18 100644 --- a/sys/arch/amd64/amd64/machdep.c +++ b/sys/arch/amd64/amd64/machdep.c @@ -449,7 +449,7 @@ void cpu_halt_all(void) { struct cpu_info *ci; - uint32_t ncpu; + uint32_t ncpu = cpu_count(); /* * If we have no current 'cpu_info' structure set, |