Signed-off-by: Oleksii Kurochko <oleksii.kuroc...@gmail.com>
---
 xen/arch/riscv/Makefile                 | 16 +++++++++++++++-
 xen/arch/riscv/arch.mk                  |  4 ----
 xen/arch/riscv/configs/tiny64_defconfig | 19 ++++++++++++++++++-
 xen/arch/riscv/stubs.c                  | 18 ------------------
 4 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 50c09469a0..9c02cb0ccf 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -12,10 +12,24 @@ $(TARGET): $(TARGET)-syms
        $(OBJCOPY) -O binary -S $< $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) -o $@
+       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+           $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+       $(NM) -pa --format=sysv $(dot-target).0 \
+               | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+               > $(dot-target).0.S
+       $(MAKE) $(build)=$(@D) $(dot-target).0.o
+       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+           $(dot-target).0.o -o $(dot-target).1
+       $(NM) -pa --format=sysv $(dot-target).1 \
+               | $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+               > $(dot-target).1.S
+       $(MAKE) $(build)=$(@D) $(dot-target).1.o
+       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+           $(dot-target).1.o -o $@
        $(NM) -pa --format=sysv $@ \
                | $(objtree)/tools/symbols --all-symbols --xensyms --sysv 
--sort \
                > $@.map
+       rm -f $(@D)/.$(@F).[0-9]*
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
        $(call if_changed_dep,cpp_lds_S)
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 8403f96b6f..12b1673fae 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -13,7 +13,3 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
-
-# TODO: Drop override when more of the build is working
-override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o
-override ALL_LIBS-y =
diff --git a/xen/arch/riscv/configs/tiny64_defconfig 
b/xen/arch/riscv/configs/tiny64_defconfig
index 3c9a2ff941..4b488180ae 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -6,7 +6,24 @@
 # CONFIG_HYPFS is not set
 # CONFIG_GRANT_TABLE is not set
 # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
-
+# CONFIG_ARGO is not set
+# CONFIG_HYPFS_CONFIG is not set
+# CONFIG_CORE_PARKING is not set
+# CONFIG_DEBUG_TRACE is not set
+# CONFIG_IOREQ_SERVER is not set
+# CONFIG_CRASH_DEBUG is not setz
+# CONFIG_KEXEC is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_MEM_ACCESS is not set
+# CONFIG_NUMA is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_HAS_PMAP is not set
+# CONFIG_TRACEBUFFER is not set
+# CONFIG_XENOPROF is not set
+# CONFIG_COMPAT is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_UBSAN is not set
+# CONFIG_NEEDS_LIBELF is not set
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
 CONFIG_DEBUG_INFO=y
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 3232039bc2..5f3040965e 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -417,21 +417,3 @@ int arch_get_paging_mempool_size(struct domain *d, 
uint64_t *size)
 {
     BUG();
 }
-
-/* need for build until common code starts be buildable */
-unsigned long __read_mostly max_page;
-
-void printk(const char *fmt, ...)
-{
-    BUG();
-}
-
-void cf_check irq_actor_none(struct irq_desc *desc)
-{
-    BUG();
-}
-
-unsigned int cf_check irq_startup_none(struct irq_desc *desc)
-{
-    return 0;
-}
\ No newline at end of file
-- 
2.41.0


Reply via email to