[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT/PLAT_RASPI PATCH 02/13] plats/raspi: Adding assembly CPU start file



Hi,

On 09/01/2020 14:30, Santiago Pagani wrote:
start.S is the file containing the initial code run by all cores in the 
platform at boot time.
Several things are happening here.
1- We first read the RTC from the SoC, to know how much time the GPU took for 
booting and reseting the CPU.
2- We check the id of the cores, and halt any core other than core 0.
3- Configure main CPU registers to our needs.
4- Enter EL1 and setup the page tables.
5- If selected in the menuconfig, watermark the stack to measure the stack 
usage.
6- Clear the BSS region.
7- Setup the stack pointer.
8- Restore the value of the RTC measured at the beginning of the file and jump 
to _libraspiplat_entry.

Signed-off-by: Santiago Pagani <santiagopagani@xxxxxxxxx>
---
  start.S | 198 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

64-bit boot Arm should have nearly no differences between each platform. So why can't you re-use what's existing for KVM?

  1 file changed, 198 insertions(+)
  create mode 100644 start.S

diff --git a/start.S b/start.S
new file mode 100644
index 0000000..04c938d
--- /dev/null
+++ b/start.S
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2018, bzt (bztsrc@github), 
https://github.com/bztsrc/raspi3-tutorial
+ * Copyright (c) 2018, Sergey Matyukevich 
<https://github.com/s-matyukevich/raspberry-pi-os>

Looking at the two links above, the code is largely based on Linux. So I am a bit surprised you are using a non-GPL license below. Do you mind giving more details?

Cheers,

--
Julien Grall

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.