summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/vmpa.c42
-rw-r--r--src/arch/vmpa.h10
2 files changed, 47 insertions, 5 deletions
diff --git a/src/arch/vmpa.c b/src/arch/vmpa.c
index dc1804c..6db62cc 100644
--- a/src/arch/vmpa.c
+++ b/src/arch/vmpa.c
@@ -106,6 +106,48 @@ vmpa2t *make_vmpa(phys_t phy, virt_t virt)
/******************************************************************************
* *
+* Paramètres : src = position à dupliquer. *
+* *
+* Description : Copie une localisation dans l'adressage mémoire. *
+* *
+* Retour : Adressage alloué en mémoire. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+vmpa2t *dup_vmpa(const vmpa2t *src)
+{
+ vmpa2t *result; /* Structure à retourner */
+
+ result = make_vmpa(get_phy_addr(src), get_virt_addr(src));
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : addr = position à traiter. *
+* *
+* Description : Supprime une localisation de l'espace mémoire. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void delete_vmpa(vmpa2t *addr)
+{
+ free(addr);
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : dest = structure de destination pour la copie. *
* src = structure de source pour la copie. *
* *
diff --git a/src/arch/vmpa.h b/src/arch/vmpa.h
index 48f61a8..871e282 100644
--- a/src/arch/vmpa.h
+++ b/src/arch/vmpa.h
@@ -26,7 +26,6 @@
#include <limits.h>
-#include <malloc.h>
#include <stdbool.h>
#include <stdint.h>
@@ -82,7 +81,11 @@ void init_vmpa(vmpa2t *, phys_t, virt_t);
/* Crée une localisation dans l'adressage mémoire. */
vmpa2t *make_vmpa(phys_t, virt_t);
-#define delete_vmpa(a) free(a)
+/* Copie une localisation dans l'adressage mémoire. */
+vmpa2t *dup_vmpa(const vmpa2t *);
+
+/* Supprime une localisation de l'espace mémoire. */
+void delete_vmpa(vmpa2t *);
/* Copie la définition d'un adressage dans un autre. */
void copy_vmpa(vmpa2t *, const vmpa2t *);
@@ -109,9 +112,6 @@ int cmp_vmpa(const vmpa2t *, const vmpa2t *);
#define reset_virt_addr(a) (a)->virtual = VMPA_NO_VIRTUAL
-#define dup_vmpa(src) \
- make_vmpa(get_phy_addr(src), get_virt_addr(src))
-
/* Décalle une position d'une certaine quantité. */
void advance_vmpa(vmpa2t *, phys_t);