maybe one of the reasons of having the virtual pc hash table is that the pc does not need to be tranlated to a physical pc which is used in the physical pc hash table.
Xin On Fri, Jan 20, 2012 at 1:24 AM, 陳韋任 <che...@iis.sinica.edu.tw> wrote: > On Mon, Jan 02, 2012 at 07:11:41AM -0500, Xin Tong wrote: >> In qemu, there is a virtual pc hash table and a physical pc hash >> table. virtual pc hash table is used to find tbs until a context >> switch. and physical pc hash table keeps all the translated tb. >> virtual pc hash table is smaller, accessed with 12 bits and physical >> pc hash table is bigger, accessed with 15 bits. the size in the hash >> tables are the primary reasons for having 2 hash tables ? > > I think not. tb_find_fast use the virtual pc as index to search > env->tb_jmp_cache, > and check the result of tb_jmp_cache is sane or not. If something goes wrong, > it > turns to call tb_find_slow to use physical pc to do a slow search. The size > should not be the reason for having 2 hash tables. > > Regards, > chenwj > > -- > Wei-Ren Chen (陳韋任) > Computer Systems Lab, Institute of Information Science, > Academia Sinica, Taiwan (R.O.C.) > Tel:886-2-2788-3799 #1667 > Homepage: http://people.cs.nctu.edu.tw/~chenwj