diff options
author | Michael Brown | 2005-05-09 15:21:56 +0200 |
---|---|---|
committer | Michael Brown | 2005-05-09 15:21:56 +0200 |
commit | e3f2aa7b4ddd96e17c4d0bf3d3d39800ef2acc2a (patch) | |
tree | 96e44bc5d3ad25bbf117ec15580c51c00b2a35a6 | |
parent | Add memcpy (diff) | |
download | ipxe-e3f2aa7b4ddd96e17c4d0bf3d3d39800ef2acc2a.tar.gz ipxe-e3f2aa7b4ddd96e17c4d0bf3d3d39800ef2acc2a.tar.xz ipxe-e3f2aa7b4ddd96e17c4d0bf3d3d39800ef2acc2a.zip |
Add off_t and physaddr_t, and the copy_{to,from}_phys helper routines.
-rw-r--r-- | src/arch/i386/include/stdint.h | 3 | ||||
-rw-r--r-- | src/arch/i386/include/virtaddr.h | 8 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/i386/include/stdint.h b/src/arch/i386/include/stdint.h index 42b04830..f56e9133 100644 --- a/src/arch/i386/include/stdint.h +++ b/src/arch/i386/include/stdint.h @@ -2,6 +2,7 @@ #define STDINT_H typedef unsigned size_t; +typedef unsigned off_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; @@ -13,4 +14,6 @@ typedef signed short int16_t; typedef signed long int32_t; typedef signed long long int64_t; +typedef unsigned long physaddr_t; + #endif /* STDINT_H */ diff --git a/src/arch/i386/include/virtaddr.h b/src/arch/i386/include/virtaddr.h index 15fad1cc..3bc02833 100644 --- a/src/arch/i386/include/virtaddr.h +++ b/src/arch/i386/include/virtaddr.h @@ -45,6 +45,14 @@ static inline void * phys_to_virt ( unsigned long phys_addr ) { return ( void * ) ( phys_addr - virt_offset ); } +static inline void copy_to_phys ( physaddr_t dest, void *src, size_t len ) { + memcpy ( phys_to_virt ( dest ), src, len ); +} + +static inline void copy_from_phys ( void *dest, physaddr_t src, size_t len ) { + memcpy ( dest, phys_to_virt ( src ), len ); +} + #else /* KEEP_IT_REAL */ /* |