qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Does the page boundary check still necessary?


From: Kenneth Lee
Subject: Does the page boundary check still necessary?
Date: Wed, 15 Feb 2023 16:39:51 +0800

Hello,

I hope I send this mail to the right place.

I'm porting a new guest arch. It jumps of out of physical page
constantly. So many TBs cannot be chained with goto_tb. I'm wondering 
if the following check is still necessary?

        bool translator_use_goto_tb(DisasContextBase *db, target_ulong dest)
        {
            /* Suppress goto_tb if requested. */
            if (tb_cflags(db->tb) & CF_NO_GOTO_TB) {
                return false;
            }

            /* Check for the dest on the same page as the start of the TB.  */
            return ((db->pc_first ^ dest) & TARGET_PAGE_MASK) == 0;    <--- Is 
this check really necessary?
        }

Now the chained TBs have been link with tb_link_page(), the chain will
be rebuilt if it is invalidate on page. So why is this check still there?

Acutally, I have tested some use cases with this check removed. It works
fine. Could anybody tell me in what case it is still necessary?

Thanks.


-- 
                        -Kenneth



reply via email to

[Prev in Thread] Current Thread [Next in Thread]