U-Boot> dm uclass
uclass 0: root
- * root_driver @ 3af45050, seq 0, (req -1)
uclass 10: simple_bus
- * soc @ 3af45160, seq 0, (req -1)
- clocks @ 3af47e20
uclass 13: blk
- * m...@7e202000.blk @ 3af476a0, seq 0, (req -1)
- sd...@7e300000.blk @ 3af47ac0
EFI: Initializing UCLASS_EFI
uclass 19: efi
uclass 20: eth
- * smsc95xx_eth @ 3af610c0, seq 0, (req -1)
uclass 21: gpio
- gpio_bcm2835 @ 3af48090
uclass 29: keyboard
uclass 33: usb_mass_storage
uclass 35: mmc
- * mmc@7e202000 @ 3af47450, seq 0, (req -1)
- * sdhci@7e300000 @ 3af478b0, seq 1, (req -1)
uclass 40: panel
uclass 41: backlight
uclass 46: pinconfig
- dpi_gpio0 @ 3af45360
- emmc_gpio22 @ 3af45410
- * emmc_gpio34 @ 3af454c0, seq 4, (req -1)
- emmc_gpio48 @ 3af45570
- gpclk0_gpio4 @ 3af45620
- gpclk1_gpio5 @ 3af456d0
- gpclk1_gpio42 @ 3af45780
- gpclk1_gpio44 @ 3af45830
- gpclk2_gpio6 @ 3af458e0
- * gpclk2_gpio43 @ 3af45990, seq 1, (req -1)
- i2c0_gpio0 @ 3af45a40
- i2c0_gpio28 @ 3af45af0
- i2c0_gpio44 @ 3af45ba0
- i2c1_gpio2 @ 3af45c50
- i2c1_gpio44 @ 3af45d00
- i2c_slave_gpio18 @ 3af45db0
- jtag_gpio4 @ 3af45e60
- jtag_gpio22 @ 3af45f10
- pcm_gpio18 @ 3af45fc0
- pcm_gpio28 @ 3af46070
- pwm0_gpio12 @ 3af46120
- pwm0_gpio18 @ 3af461d0
- pwm0_gpio40 @ 3af46280
- pwm1_gpio13 @ 3af46330
- pwm1_gpio19 @ 3af463e0
- pwm1_gpio41 @ 3af46490
- pwm1_gpio45 @ 3af46540
- * sdhost_gpio48 @ 3af465f0, seq 3, (req -1)
- spi0_gpio7 @ 3af466a0
- spi0_gpio35 @ 3af46750
- spi1_gpio16 @ 3af46800
- spi2_gpio40 @ 3af468b0
- uart0_gpio14 @ 3af46960
- uart0_ctsrts_gpio16 @ 3af46a10
- uart0_ctsrts_gpio30 @ 3af46ac0
- * uart0_gpio32 @ 3af46b70, seq 0, (req -1)
- uart0_gpio36 @ 3af46c20
- uart0_ctsrts_gpio38 @ 3af46cd0
- * uart1_gpio14 @ 3af46d80, seq 2, (req -1)
- uart1_ctsrts_gpio16 @ 3af46e30
- uart1_gpio32 @ 3af46ee0
- uart1_ctsrts_gpio30 @ 3af46f90
- uart1_gpio40 @ 3af47040
- uart1_ctsrts_gpio42 @ 3af470f0
- gpioout @ 3af471a0
- alt0 @ 3af47250
uclass 47: pinctrl
- * gpio@7e200000 @ 3af45270, seq 0, (req -1)
uclass 58: serial
- serial@7e201000 @ 3af47340
- * serial@7e215040 @ 3af477e0, seq 0, (req -1)
uclass 68: usb
- * usb@7e980000 @ 3af47d70, seq 0, (req -1)
uclass 69: usb_dev_generic
uclass 70: usb_hub
- * usb_hub @ 3af49090, seq 0, (req -1)
- * usb_hub @ 3af604d0, seq 1, (req -1)
uclass 71: video
- * hdmi@7e902000 @ 3af47c40, seq 0, (req -1)
uclass 73: vidconsole0
- * hd...@7e902000.vidconsole0 @ 3af48910, seq 0, (req -1)
The ARMv8-A long descriptor format is always used in AArch64 Execution state. This is similar to the ARMv7-A long descriptor format with Large Physical Address Extensions. It uses the same 64-bit long-descriptor format, but with some changes. It introduces a Level 0 table index, which uses the same descriptor format as the level 1 table. There is added support for up to 48-bit input and output addresses. The input virtual address is now 64-bit.
But I guess it is good enough to run hypervisor
In some existing hypervisor solutions, such as KVM or Xen, giving guests access to platform devices is uncommon. Both of these hypervisors provide a virtual platform and emulate all devices, exceptions are only made for network or storage controllers, which might not be platform devices.
the 32-bit application can execute and generate a Supervisor Call (SVC) instruction, or receive an interrupt, causing a switch to EL1 and AArch64. (See Exception handling instructions.)
if so, we can run.
may be some hypervisor to deploy host for kernels, a32 ot t32 to begin, than execute a64 vitrual machine.
all of this is to "using the old one to compile the new one"
I am wandering can we use.... clang as compiler with mk?
CC=clang
CFLAGS=-c --target=aarch64 -march=armv8-a+simd+fp -I./include -I$ROOT/include -I$ROOT/libinterp
$CC $CFLAGS -DKERNDATE=$KERNDATE $CONF.c
суббота, 10 марта 2018 г., 19:03:54 UTC+3 пользователь Hendrik Boom написал: