Reading about typical cache timing attacks, they seem to be based on intentional eviction of cache lines and timing how long an operation takes. It seems as if those attacks rely upon these tables being hardcoded constants in read-only sections of an executable, and are therefore subject to sharing memory pages.
If you ensure that your AES tables are on physical pages that are private to your process, is that enough to thwart timing-based attacks? In this situation, an attacker running as a normal-privileged process on the same machine would not be able to perform such tricks as
clflushing the cache lines containing the table.
Note that this technique also requires that the contents of the pages are also unique, not just private: some operating systems might notice memory pages with identical contents and coalesce them to a single physical page as copy-on-write.