Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F169633280
D24950.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D24950.diff
View Options
Index: head/sys/arm/arm/machdep_boot.c
===================================================================
--- head/sys/arm/arm/machdep_boot.c
+++ head/sys/arm/arm/machdep_boot.c
@@ -352,13 +352,12 @@
fake_preload_metadata(struct arm_boot_params *abp __unused, void *dtb_ptr,
size_t dtb_size)
{
-#ifdef DDB
- vm_offset_t zstart = 0, zend = 0;
-#endif
vm_offset_t lastaddr;
int i = 0;
static uint32_t fake_preload[35];
+ lastaddr = (vm_offset_t)&end;
+
fake_preload[i++] = MODINFO_NAME;
fake_preload[i++] = strlen("kernel") + 1;
strcpy((char*)&fake_preload[i++], "kernel");
@@ -373,21 +372,6 @@
fake_preload[i++] = MODINFO_SIZE;
fake_preload[i++] = sizeof(uint32_t);
fake_preload[i++] = (uint32_t)&end - KERNVIRTADDR;
-#ifdef DDB
- if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) {
- fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM;
- fake_preload[i++] = sizeof(vm_offset_t);
- fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4);
- fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM;
- fake_preload[i++] = sizeof(vm_offset_t);
- fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8);
- lastaddr = *(uint32_t *)(KERNVIRTADDR + 8);
- zend = lastaddr;
- zstart = *(uint32_t *)(KERNVIRTADDR + 4);
- db_fetch_ksymtab(zstart, zend);
- } else
-#endif
- lastaddr = (vm_offset_t)&end;
if (dtb_ptr != NULL) {
/* Copy DTB to KVA space and insert it into module chain. */
lastaddr = roundup(lastaddr, sizeof(int));
Index: head/sys/arm/include/elf.h
===================================================================
--- head/sys/arm/include/elf.h
+++ head/sys/arm/include/elf.h
@@ -78,12 +78,6 @@
#define EF_ARM_EABI_VERSION_UNKNOWN 0
#define EF_ARM_EABI_FREEBSD_MIN 4
-/*
- * Magic number for the elf trampoline, chosen wisely to be an immediate
- * value.
- */
-#define MAGIC_TRAMP_NUMBER 0x5c000003
-
#define ET_DYN_LOAD_ADDR 0x500000
/* Flags passed in AT_HWCAP. */
Index: head/sys/arm64/arm64/machdep_boot.c
===================================================================
--- head/sys/arm64/arm64/machdep_boot.c
+++ head/sys/arm64/arm64/machdep_boot.c
@@ -84,14 +84,12 @@
static vm_offset_t
fake_preload_metadata(void *dtb_ptr, size_t dtb_size)
{
-#ifdef DDB
- vm_offset_t zstart = 0, zend = 0;
-#endif
vm_offset_t lastaddr;
static char fake_preload[256];
caddr_t preload_ptr;
size_t size;
+ lastaddr = (vm_offset_t)&end;
preload_ptr = (caddr_t)&fake_preload[0];
size = 0;
@@ -108,25 +106,7 @@
PRELOAD_PUSH_VALUE(uint32_t, MODINFO_SIZE);
PRELOAD_PUSH_VALUE(uint32_t, sizeof(size_t));
PRELOAD_PUSH_VALUE(uint64_t, (size_t)(&end - VM_MIN_KERNEL_ADDRESS));
-#ifdef DDB
- if (*(uint64_t *)VM_MIN_KERNEL_ADDRESS == MAGIC_TRAMP_NUMBER) {
- PRELOAD_PUSH_VALUE(uint32_t, MODINFO_METADATA|MODINFOMD_SSYM);
- PRELOAD_PUSH_VALUE(uint32_t, sizeof(vm_offset_t));
- PRELOAD_PUSH_VALUE(uint64_t,
- *(uint64_t *)(VM_MIN_KERNEL_ADDRESS + 4));
- PRELOAD_PUSH_VALUE(uint32_t, MODINFO_METADATA | MODINFOMD_ESYM);
- PRELOAD_PUSH_VALUE(uint32_t, sizeof(vm_offset_t));
- PRELOAD_PUSH_VALUE(uint64_t,
- *(uint64_t *)(VM_MIN_KERNEL_ADDRESS + 8));
-
- lastaddr = *(uint64_t *)(VM_MIN_KERNEL_ADDRESS + 8);
- zend = lastaddr;
- zstart = *(uint64_t *)(VM_MIN_KERNEL_ADDRESS + 4);
- db_fetch_ksymtab(zstart, zend);
- } else
-#endif
- lastaddr = (vm_offset_t)&end;
if (dtb_ptr != NULL) {
/* Copy DTB to KVA space and insert it into module chain. */
lastaddr = roundup(lastaddr, sizeof(int));
Index: head/sys/riscv/riscv/machdep.c
===================================================================
--- head/sys/riscv/riscv/machdep.c
+++ head/sys/riscv/riscv/machdep.c
@@ -729,9 +729,6 @@
fake_preload_metadata(struct riscv_bootparams *rvbp)
{
static uint32_t fake_preload[35];
-#ifdef DDB
- vm_offset_t zstart = 0, zend = 0;
-#endif
vm_offset_t lastaddr;
size_t fake_size, dtb_size;
@@ -750,6 +747,7 @@
} while (0)
fake_size = 0;
+ lastaddr = (vm_offset_t)&end;
PRELOAD_PUSH_VALUE(uint32_t, MODINFO_NAME);
PRELOAD_PUSH_STRING("kernel");
@@ -763,24 +761,6 @@
PRELOAD_PUSH_VALUE(uint32_t, MODINFO_SIZE);
PRELOAD_PUSH_VALUE(uint32_t, sizeof(size_t));
PRELOAD_PUSH_VALUE(uint64_t, (size_t)((vm_offset_t)&end - KERNBASE));
-#ifdef DDB
-#if 0
- /* RISCVTODO */
- if (*(uint32_t *)KERNVIRTADDR == MAGIC_TRAMP_NUMBER) {
- fake_preload[i++] = MODINFO_METADATA|MODINFOMD_SSYM;
- fake_preload[i++] = sizeof(vm_offset_t);
- fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 4);
- fake_preload[i++] = MODINFO_METADATA|MODINFOMD_ESYM;
- fake_preload[i++] = sizeof(vm_offset_t);
- fake_preload[i++] = *(uint32_t *)(KERNVIRTADDR + 8);
- lastaddr = *(uint32_t *)(KERNVIRTADDR + 8);
- zend = lastaddr;
- zstart = *(uint32_t *)(KERNVIRTADDR + 4);
- db_fetch_ksymtab(zstart, zend);
- } else
-#endif
-#endif
- lastaddr = (vm_offset_t)&end;
/* Copy the DTB to KVA space. */
lastaddr = roundup(lastaddr, sizeof(int));
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Sep 3, 3:18 AM (5 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38054017
Default Alt Text
D24950.diff (4 KB)
Attached To
Mode
D24950: Remove remnant of arm's ELF trampoline
Attached
Detach File
Event Timeline
Log In to Comment