diff --git a/softmmu_template.h b/softmmu_template.h index a0a2c38ab68a1ed8c92d8c6b688421625bfdf162..45fcd4e1b6c6082e2a4c8a5b09dcdf4e4e384327 100644 --- a/softmmu_template.h +++ b/softmmu_template.h @@ -282,6 +282,8 @@ static void glue(glue(slow_st, SUFFIX), MMUSUFFIX)(target_ulong addr, } else if (((addr & ~TARGET_PAGE_MASK) + DATA_SIZE - 1) >= TARGET_PAGE_SIZE) { do_unaligned_access: /* XXX: not efficient, but simple */ + /* Note: relies on the fact that tlb_fill() does not remove the + * previous page from the TLB cache. */ for(i = DATA_SIZE - 1; i >= 0; i--) { #ifdef TARGET_WORDS_BIGENDIAN glue(slow_stb, MMUSUFFIX)(addr + i, val >> (((DATA_SIZE - 1) * 8) - (i * 8)), diff --git a/vl.c b/vl.c index 8defc30eef7b5b6f57da90e6614ba12ddfe299be..b9c97b03573d78223d6c33b923188e59738456cc 100644 --- a/vl.c +++ b/vl.c @@ -8256,20 +8256,20 @@ int main(int argc, char **argv) #endif linux_boot = (kernel_filename != NULL); net_boot = (boot_devices_bitmap >> ('n' - 'a')) && 0xF; - + /* XXX: this should not be: some embedded targets just have flash */ if (!linux_boot && net_boot == 0 && - hd_filename[0] == '\0' && - (cdrom_index >= 0 && hd_filename[cdrom_index] == '\0') && - fd_filename[0] == '\0' && - pflash_filename[0] == '\0') + hd_filename[0] == NULL && + (cdrom_index >= 0 && hd_filename[cdrom_index] == NULL) && + fd_filename[0] == NULL && + pflash_filename[0] == NULL) help(1); /* boot to floppy or the default cd if no hard disk defined yet */ if (!boot_devices[0]) { - if (hd_filename[0] != '\0') + if (hd_filename[0] != NULL) boot_devices = "c"; - else if (fd_filename[0] != '\0') + else if (fd_filename[0] != NULL) boot_devices = "a"; else boot_devices = "d";