1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
From 8b026d66eb22e1fcf1cb03974606dca991aae392 Mon Sep 17 00:00:00 2001
From: Justus Winter <4winter@informatik.uni-hamburg.de>
Date: Sun, 17 May 2015 15:10:18 +0200
Subject: [PATCH gnumach 01/10] i386: avoid compiler warning
* i386/i386/phys.c (pmap_zero_page, pmap_copy_page, copy_to_phys,
copy_from_phys): Avoid compiler warning about `map' being used
uninitialized.
---
i386/i386/phys.c | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/i386/i386/phys.c b/i386/i386/phys.c
index 3af508f..d55bdd9 100644
--- a/i386/i386/phys.c
+++ b/i386/i386/phys.c
@@ -52,8 +52,9 @@ pmap_zero_page(vm_offset_t p)
assert(p != vm_page_fictitious_addr);
vm_offset_t v;
pmap_mapwindow_t *map;
+ boolean_t mapped = p >= phys_last_addr;
- if (p >= phys_last_addr)
+ if (mapped)
{
map = pmap_get_mapwindow(INTEL_PTE_W(p));
v = map->vaddr;
@@ -63,7 +64,7 @@ pmap_zero_page(vm_offset_t p)
memset((void*) v, 0, PAGE_SIZE);
- if (p >= phys_last_addr)
+ if (mapped)
pmap_put_mapwindow(map);
}
@@ -77,10 +78,12 @@ pmap_copy_page(
{
vm_offset_t src_addr_v, dst_addr_v;
pmap_mapwindow_t *src_map, *dst_map;
+ boolean_t src_mapped = src >= phys_last_addr;
+ boolean_t dst_mapped = dst >= phys_last_addr;
assert(src != vm_page_fictitious_addr);
assert(dst != vm_page_fictitious_addr);
- if (src >= phys_last_addr)
+ if (src_mapped)
{
src_map = pmap_get_mapwindow(INTEL_PTE_R(src));
src_addr_v = src_map->vaddr;
@@ -88,7 +91,7 @@ pmap_copy_page(
else
src_addr_v = phystokv(src);
- if (dst >= phys_last_addr)
+ if (dst_mapped)
{
dst_map = pmap_get_mapwindow(INTEL_PTE_W(dst));
dst_addr_v = dst_map->vaddr;
@@ -98,9 +101,9 @@ pmap_copy_page(
memcpy((void *) dst_addr_v, (void *) src_addr_v, PAGE_SIZE);
- if (src >= phys_last_addr)
+ if (src_mapped)
pmap_put_mapwindow(src_map);
- if (dst >= phys_last_addr)
+ if (dst_mapped)
pmap_put_mapwindow(dst_map);
}
@@ -117,10 +120,11 @@ copy_to_phys(
{
vm_offset_t dst_addr_v;
pmap_mapwindow_t *dst_map;
+ boolean_t mapped = dst_addr_p >= phys_last_addr;
assert(dst_addr_p != vm_page_fictitious_addr);
assert(pa_to_pte(dst_addr_p + count-1) == pa_to_pte(dst_addr_p));
- if (dst_addr_p >= phys_last_addr)
+ if (mapped)
{
dst_map = pmap_get_mapwindow(INTEL_PTE_W(dst_addr_p));
dst_addr_v = dst_map->vaddr;
@@ -130,7 +134,7 @@ copy_to_phys(
memcpy((void *)dst_addr_v, (void *)src_addr_v, count);
- if (dst_addr_p >= phys_last_addr)
+ if (mapped)
pmap_put_mapwindow(dst_map);
}
@@ -148,10 +152,11 @@ copy_from_phys(
{
vm_offset_t src_addr_v;
pmap_mapwindow_t *src_map;
+ boolean_t mapped = src_addr_p >= phys_last_addr;
assert(src_addr_p != vm_page_fictitious_addr);
assert(pa_to_pte(src_addr_p + count-1) == pa_to_pte(src_addr_p));
- if (src_addr_p >= phys_last_addr)
+ if (mapped)
{
src_map = pmap_get_mapwindow(INTEL_PTE_R(src_addr_p));
src_addr_v = src_map->vaddr;
@@ -161,7 +166,7 @@ copy_from_phys(
memcpy((void *)dst_addr_v, (void *)src_addr_v, count);
- if (src_addr_p >= phys_last_addr)
+ if (mapped)
pmap_put_mapwindow(src_map);
}
--
2.1.4
|