Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 1 | /* |
Richard Henderson | 6670d4d | 2021-03-22 12:24:24 +0100 | [diff] [blame] | 2 | * Variable page size handling -- target specific part. |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 3 | * |
| 4 | * Copyright (c) 2003 Fabrice Bellard |
| 5 | * |
| 6 | * This library is free software; you can redistribute it and/or |
| 7 | * modify it under the terms of the GNU Lesser General Public |
| 8 | * License as published by the Free Software Foundation; either |
Chetan Pant | 61f3c91 | 2020-10-23 12:44:24 +0000 | [diff] [blame] | 9 | * version 2.1 of the License, or (at your option) any later version. |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 10 | * |
| 11 | * This library is distributed in the hope that it will be useful, |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 14 | * Lesser General Public License for more details. |
| 15 | * |
| 16 | * You should have received a copy of the GNU Lesser General Public |
| 17 | * License along with this library; if not, see <http://www.gnu.org/licenses/>. |
| 18 | */ |
| 19 | |
Richard Henderson | 44b99a6 | 2021-03-22 12:24:26 +0100 | [diff] [blame] | 20 | #define IN_PAGE_VARY 1 |
| 21 | |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 22 | #include "qemu/osdep.h" |
Marc-André Lureau | ec5f7ca | 2022-03-23 19:57:34 +0400 | [diff] [blame] | 23 | #include "exec/page-vary.h" |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 24 | #include "exec/exec-all.h" |
| 25 | |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 26 | bool set_preferred_target_page_bits(int bits) |
| 27 | { |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 28 | #ifdef TARGET_PAGE_BITS_VARY |
| 29 | assert(bits >= TARGET_PAGE_BITS_MIN); |
Richard Henderson | 44b99a6 | 2021-03-22 12:24:26 +0100 | [diff] [blame] | 30 | return set_preferred_target_page_bits_common(bits); |
| 31 | #else |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 32 | return true; |
Richard Henderson | 44b99a6 | 2021-03-22 12:24:26 +0100 | [diff] [blame] | 33 | #endif |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 34 | } |
| 35 | |
| 36 | void finalize_target_page_bits(void) |
| 37 | { |
| 38 | #ifdef TARGET_PAGE_BITS_VARY |
Richard Henderson | 44b99a6 | 2021-03-22 12:24:26 +0100 | [diff] [blame] | 39 | finalize_target_page_bits_common(TARGET_PAGE_BITS_MIN); |
Richard Henderson | 7886cef | 2019-09-19 13:30:29 -0700 | [diff] [blame] | 40 | #endif |
| 41 | } |