Revision 99773bd4 exec.c

b/exec.c
46 46
//#define DEBUG_TB_CHECK 
47 47
//#define DEBUG_TLB_CHECK 
48 48

  
49
#if !defined(CONFIG_USER_ONLY)
50
/* TB consistency checks only implemented for usermode emulation.  */
51
#undef DEBUG_TB_CHECK
52
#endif
53

  
49 54
/* threshold to flush the translated code buffer */
50 55
#define CODE_GEN_BUFFER_MAX_SIZE (CODE_GEN_BUFFER_SIZE - CODE_GEN_MAX_SIZE)
51 56

  
......
330 335
    TranslationBlock *tb;
331 336
    int i;
332 337
    address &= TARGET_PAGE_MASK;
333
    for(i = 0;i < CODE_GEN_HASH_SIZE; i++) {
334
        for(tb = tb_hash[i]; tb != NULL; tb = tb->hash_next) {
338
    for(i = 0;i < CODE_GEN_PHYS_HASH_SIZE; i++) {
339
        for(tb = tb_phys_hash[i]; tb != NULL; tb = tb->phys_hash_next) {
335 340
            if (!(address + TARGET_PAGE_SIZE <= tb->pc ||
336 341
                  address >= tb->pc + tb->size)) {
337 342
                printf("ERROR invalidate: address=%08lx PC=%08lx size=%04x\n",
338
                       address, tb->pc, tb->size);
343
                       address, (long)tb->pc, tb->size);
339 344
            }
340 345
        }
341 346
    }
......
347 352
    TranslationBlock *tb;
348 353
    int i, flags1, flags2;
349 354
    
350
    for(i = 0;i < CODE_GEN_HASH_SIZE; i++) {
351
        for(tb = tb_hash[i]; tb != NULL; tb = tb->hash_next) {
355
    for(i = 0;i < CODE_GEN_PHYS_HASH_SIZE; i++) {
356
        for(tb = tb_phys_hash[i]; tb != NULL; tb = tb->phys_hash_next) {
352 357
            flags1 = page_get_flags(tb->pc);
353 358
            flags2 = page_get_flags(tb->pc + tb->size - 1);
354 359
            if ((flags1 & PAGE_WRITE) || (flags2 & PAGE_WRITE)) {
355 360
                printf("ERROR page flags: PC=%08lx size=%04x f1=%x f2=%x\n",
356
                       tb->pc, tb->size, flags1, flags2);
361
                       (long)tb->pc, tb->size, flags1, flags2);
357 362
            }
358 363
        }
359 364
    }

Also available in: Unified diff