summaryrefslogtreecommitdiff
path: root/debian/patches/0001-i386-avoid-compiler-warning.patch
blob: 72a9c92bf55cf2a08c3059197780f54f728696b3 (plain)
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