# Create scratch disk from file.
die "$hostfn: $!\n" if ! -e $hostfn;
my ($size) = -s _;
- copy_pad ($hostfn, "scratch.dsk", 512);
+ if ($size) {
+ copy_pad ($hostfn, "scratch.dsk", 512);
+ } else {
+ open (SCRATCH, ">scratch.dsk") or die "scratch.dsk: create: $!\n";
+ syswrite (SCRATCH, "\0" x 512);
+ close (SCRATCH);
+ }
# Do copy.
my (@cmd) = ("-ci", $guestfn, $size, "-q");
undef $disks[$i] if ! -e $disks[$i];
}
+ my ($project) = `pwd` =~ /\b(threads|userprog|vm|filesys)\b/;
+ if (($project eq 'userprog' || $project eq 'vm' || $project eq 'filesys')
+ && !defined $disks[1]) {
+ print STDERR "warning: it looks like you're running the $project project, "
+ . "but no file system disk is present\n";
+ }
+ if ($project eq 'vm' && !defined $disks[3]) {
+ print STDERR "warning: it looks like you're running the $project project, "
+ . "but no swap disk is present\n";
+ }
+
write_cmd_line ($disks[0], @_);
if ($sim eq 'bochs') {