aboutsummaryrefslogtreecommitdiff
path: root/sys/boot
diff options
context:
space:
mode:
authorDoug Rabson <dfr@FreeBSD.org>2001-09-14 08:26:00 +0000
committerDoug Rabson <dfr@FreeBSD.org>2001-09-14 08:26:00 +0000
commitf19fa0b62725d51e25a148eeb43f8c6e25eaf13d (patch)
tree9221c426f2ee2acb78c69140a08350c3b4e8ad3a /sys/boot
parentb7a81e06aa5fa87b7756a612eeae2dd52d64c24d (diff)
Notes
Diffstat (limited to 'sys/boot')
-rw-r--r--sys/boot/efi/libefi/copy.c18
-rw-r--r--sys/boot/ia64/common/copy.c18
2 files changed, 26 insertions, 10 deletions
diff --git a/sys/boot/efi/libefi/copy.c b/sys/boot/efi/libefi/copy.c
index 01c31d88e4dd..a2bb6fea4e7d 100644
--- a/sys/boot/efi/libefi/copy.c
+++ b/sys/boot/efi/libefi/copy.c
@@ -31,8 +31,6 @@ static const char rcsid[] =
/*
* MD primitives supporting placement of module data
- *
- * XXX should check load address/size against memory top.
*/
#include <stand.h>
@@ -43,19 +41,29 @@ static const char rcsid[] =
int
efi_copyin(void *src, vm_offset_t dest, size_t len)
{
- bcopy(src, (void*) dest, len);
+ EFI_PHYSICAL_ADDRESS p = IA64_RR_MASK(dest);
+#if 0
+ BS->AllocatePages(AllocateAddress, EfiRuntimeServicesData,
+ len >> 12, &p);
+#endif
+ bcopy(src, (void*) p, len);
return (len);
}
int
efi_copyout(vm_offset_t src, void *dest, size_t len)
{
- bcopy((void*) src, dest, len);
+ bcopy((void*) IA64_RR_MASK(src), dest, len);
return (len);
}
int
efi_readin(int fd, vm_offset_t dest, size_t len)
{
- return (read(fd, (void*) dest, len));
+ EFI_PHYSICAL_ADDRESS p = IA64_RR_MASK(dest);
+#if 0
+ BS->AllocatePages(AllocateAddress, EfiRuntimeServicesData,
+ len >> 12, &p);
+#endif
+ return (read(fd, (void*) p, len));
}
diff --git a/sys/boot/ia64/common/copy.c b/sys/boot/ia64/common/copy.c
index 01c31d88e4dd..a2bb6fea4e7d 100644
--- a/sys/boot/ia64/common/copy.c
+++ b/sys/boot/ia64/common/copy.c
@@ -31,8 +31,6 @@ static const char rcsid[] =
/*
* MD primitives supporting placement of module data
- *
- * XXX should check load address/size against memory top.
*/
#include <stand.h>
@@ -43,19 +41,29 @@ static const char rcsid[] =
int
efi_copyin(void *src, vm_offset_t dest, size_t len)
{
- bcopy(src, (void*) dest, len);
+ EFI_PHYSICAL_ADDRESS p = IA64_RR_MASK(dest);
+#if 0
+ BS->AllocatePages(AllocateAddress, EfiRuntimeServicesData,
+ len >> 12, &p);
+#endif
+ bcopy(src, (void*) p, len);
return (len);
}
int
efi_copyout(vm_offset_t src, void *dest, size_t len)
{
- bcopy((void*) src, dest, len);
+ bcopy((void*) IA64_RR_MASK(src), dest, len);
return (len);
}
int
efi_readin(int fd, vm_offset_t dest, size_t len)
{
- return (read(fd, (void*) dest, len));
+ EFI_PHYSICAL_ADDRESS p = IA64_RR_MASK(dest);
+#if 0
+ BS->AllocatePages(AllocateAddress, EfiRuntimeServicesData,
+ len >> 12, &p);
+#endif
+ return (read(fd, (void*) p, len));
}