Revision e5896b12 exec.c
b/exec.c | ||
---|---|---|
2078 | 2078 |
return ret; |
2079 | 2079 |
} |
2080 | 2080 |
|
2081 |
int cpu_physical_log_start(target_phys_addr_t start_addr, |
|
2082 |
ram_addr_t size) |
|
2083 |
{ |
|
2084 |
CPUPhysMemoryClient *client; |
|
2085 |
QLIST_FOREACH(client, &memory_client_list, list) { |
|
2086 |
if (client->log_start) { |
|
2087 |
int r = client->log_start(client, start_addr, size); |
|
2088 |
if (r < 0) { |
|
2089 |
return r; |
|
2090 |
} |
|
2091 |
} |
|
2092 |
} |
|
2093 |
return 0; |
|
2094 |
} |
|
2095 |
|
|
2096 |
int cpu_physical_log_stop(target_phys_addr_t start_addr, |
|
2097 |
ram_addr_t size) |
|
2098 |
{ |
|
2099 |
CPUPhysMemoryClient *client; |
|
2100 |
QLIST_FOREACH(client, &memory_client_list, list) { |
|
2101 |
if (client->log_stop) { |
|
2102 |
int r = client->log_stop(client, start_addr, size); |
|
2103 |
if (r < 0) { |
|
2104 |
return r; |
|
2105 |
} |
|
2106 |
} |
|
2107 |
} |
|
2108 |
return 0; |
|
2109 |
} |
|
2110 |
|
|
2081 | 2111 |
static inline void tlb_update_dirty(CPUTLBEntry *tlb_entry) |
2082 | 2112 |
{ |
2083 | 2113 |
ram_addr_t ram_addr; |
Also available in: Unified diff