Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
25 user(s) are online (18 user(s) are browsing Forums)

Members: 1
Guests: 24

sailor, more...

Support us!

Headlines

 
  Register To Post  

Trying to get some feedback.
Just popping in
Just popping in


See User information
As this isn't specific to AROS and more to 68K I figured it would be safe to get opinions about it here too.

Porting Emu68 to EFI

Overview

This project is focused on adapting Emu68 to function in an EFI environment by splitting it into two distinct applications: a loader and the emulator itself. The loader will handle EFI compliance and initialization, while Emu68 will operate as a standalone 68K emulator. Additionally, a test program will be developed to validate ACPI data under Emu68.

Objectives

Develop an EFI Loader.

Create a compliant EFI application responsible for initializing and loading Emu68.

Ensure the loader handles hardware abstraction and passes necessary configuration data to Emu68.

Implement Basic Support for ACPI Table Parsing.

Parse ACPI tables provided by EFI.

Convert Little Endian ACPI data to Big Endian for compatibility with the 68K environment.

Split Emu68 and Loader into Two Applications.

Develop a standalone EFI loader to initialize and load Emu68.

Keep Emu68 focused solely on emulation tasks, with no direct hardware initialization.

Develop a Test Program for ACPI Data Validation.

Create a 68K-compatible program that runs under Emu68.

Validate ACPI table parsing and endian conversion.

Ensure compatibility and correctness of ACPI data for future use by AmigaOS/AROS.

Implementation Plan

Step 1: Develop an EFI Loader

Loader Responsibilities:

Create a standalone EFI loader responsible for:

Locating and loading the Emu68 binary.

Setting up the execution environment, including memory allocation and passing necessary configuration data to Emu68.

Use EFI protocols to handle hardware abstraction, such as accessing ACPI tables.

Basic System Initialization:

Ensure the loader initializes system resources like memory and storage using EFI services.

Set up a mechanism to pass ACPI and other hardware details to Emu68.

Debugging Support:

Include debug outputs in the loader to verify the correct setup of the execution environment.

Step 2: Refactor Emu68 for EFI Integration

Standalone Emulator:

Remove any bare-metal initialization tasks from Emu68, delegating these to the loader.

Ensure Emu68 operates solely as a 68K emulator, relying on the loader for execution context and data.

ACPI Table Parsing in Emu68:

Add support for parsing ACPI tables passed by the loader.

Implement endian conversion for compatibility with the 68K environment.

Ensure parsed ACPI data can be utilized by future AmigaOS/AROS 68K integration.

Execution Environment:

Verify Emu68 functions correctly within the environment established by the loader.

Step 3: Develop a Test Program for ACPI Validation

68K Test Program:

Create a test program compatible with Emu68 to validate ACPI data parsing and endian conversion.

Include routines to check the integrity and correctness of ACPI tables.

Integration Testing:

Run the test program under Emu68 in the EFI environment.

Log results for debugging and verification.

Deliverables

A standalone EFI loader application.

A refactored Emu68 emulator.

A 68K test program for ACPI validation.

Documentation for:

EFI loader and Emu68 integration.

ACPI table parsing and endian conversion routines.

Test program usage and expected outputs.

Go to top
Re: Trying to get some feedback.
Supreme Council
Supreme Council


See User information
Moved this to emulation. Perhaps you'll get a bit more visibility.

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top
Re: Trying to get some feedback.
Just popping in
Just popping in


See User information
@orgin

Thanks,

It might be a little too technical is but the crux of it all is essentially a modern cross between the Draco and Amithlon setup.

https://discord.com/channels/784428461 ... 98752/1322464794418221140

Go to top
Re: Trying to get some feedback.
Site Builder
Site Builder


See User information
Quote:
Convert Little Endian ACPI data to Big Endian for compatibility with the 68K environment.


If you plan to use ARM-based systems, maybe this one is not needed, as I believe those supports both endians. But I might be wrong.

Follow me on
Ko-fi, Twitter, YouTube, Twitch
Go to top
Re: Trying to get some feedback.
Home away from home
Home away from home


See User information
@terminills

ARM did not support UEFI 4 years ago, does it now support it?

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: Trying to get some feedback.
Just popping in
Just popping in


See User information
@walkero

Quote:
walkero wrote:Quote:
Convert Little Endian ACPI data to Big Endian for compatibility with the 68K environment.


If you plan to use ARM-based systems, maybe this one is not needed, as I believe those supports both endians. But I might be wrong.


Not all, and they default to LE on boot which is where the ACPI tables are initially setup.



https://arace.tech/products/radxa-orion-o6

:)

Go to top
Re: Trying to get some feedback.
Just popping in
Just popping in


See User information
@LiveForIt

Yes tianocore has been ported to many boards. Plus many boards are coming with uefi installed by default.
[*]Raspberry Pi 4 UEFI Firmware Images: This repository offers UEFI firmware for the Raspberry Pi 4, facilitating the use of UEFI-based operating systems.
[*]Raspberry Pi 5 UEFI Firmware Images: This repository provides UEFI firmware images for the Raspberry Pi 5, supporting boot from USB and SD card, HDMI display output, and limited ACPI support.
[*]Raspberry Pi 3 UEFI Firmware Images: This repository offers UEFI firmware for the Raspberry Pi 3, enabling UEFI-based operating system support.
[*]Raspberry Pi 4 UEFI Firmware by shift: This repository provides UEFI firmware images for the Raspberry Pi 4, facilitating the use of UEFI-based operating systems.
[*]Raspberry Pi 4 UEFI Firmware by doubleu-labs: This repository offers UEFI firmware images for the Raspberry Pi 4, enabling UEFI-based operating system support.
[*]64-bit Tiano Core UEFI Firmware Port for Raspberry Pi 4: This repository provides a 64-bit UEFI firmware port for the Raspberry Pi 4, based on Tiano Core.
[*]Raspberry Pi 4 UEFI Firmware by kramelec: This repository offers UEFI firmware images for the Raspberry Pi 4, facilitating the use of UEFI-based operating systems.

Go to top
Re: Trying to get some feedback.
Not too shy to talk
Not too shy to talk


See User information
If you gonna do this, please emulate custom chips also.

Go to top
Re: Trying to get some feedback.
Just popping in
Just popping in


See User information
@NinjaCyborg

That’s not the scope of this… however there is talks of a pcie fpga card for that purpose.

Go to top
Re: Trying to get some feedback.
Not too shy to talk
Not too shy to talk


See User information
if anyone makes a pcie fpga card they should make sure it's OS4 compatible too... in which case just put the ARM CPU on there as well, or use a pi compute.

Go to top
Re: Trying to get some feedback.
Not too shy to talk
Not too shy to talk


See User information
@terminills

Is it in your plans to allow emu68 for arm to be 'swapped out' for another emu-cpu? e.g. would it be possible to use the same EFI codebase for UEFI on amd64 with a 'emu68 for amd64' ?

Sorry if this was already mentioned as the formatting was difficult for me to follow Just wondering if your plans are dedicated to arm only or include other architectures in the future.

Go to top
Re: Trying to get some feedback.
Just popping in
Just popping in


See User information
@NinjaCyborgQuote:
NinjaCyborg wrote:if anyone makes a pcie fpga card they should make sure it's OS4 compatible too... in which case just put the ARM CPU on there as well, or use a pi compute.




And then you’re back to limiting hardware. The main goal is to future proof and allow for a larger audience. I can buy an arm itx board for less than $200 with 8 gigs of ram. Currently I have a rock 5 itx but there are others.

Go to top
Re: Trying to get some feedback.
Just popping in
Just popping in


See User information
@derfsQuote:
derfs wrote:@terminills

Is it in your plans to allow emu68 for arm to be 'swapped out' for another emu-cpu? e.g. would it be possible to use the same EFI codebase for UEFI on amd64 with a 'emu68 for amd64' ?

Sorry if this was already mentioned as the formatting was difficult for me to follow Just wondering if your plans are dedicated to arm only or include other architectures in the future.


That could be possible if someone wanted to create the 68k emulator for amd64.

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project