Printing Configuration Tables & ACPI Table Signatures | UEFI Dev (in C)

Поділитися
Вставка
  • Опубліковано 29 чер 2024
  • Just printing configuration table GUIDs and ACPI table signatures (FACP, APIC, etc.), and am tired as per usual, so this is a pretty boring one. (I'm also on a quest to find the ugliest color combo for thumbnail text that also evokes clip art from gradeschool computer labs)
    Errata:
    - I changed the acpi table header structure later to be closer to the ACPI 6.5 specification section 21.2.1 acpi_table_header struct, as far as string values for IDs.
    - BXPC probably stands for "Bochs PC" but they only had 4 characters to work with.
    Links:
    uefi.org/specifications (uefi & other specifications)
    github.com/tianocore/edk2
    UEFI Programming playlist:
    • UEFI Programming in C
    Git Repo:
    github.com/queso-fuego/uefi-dev
    Repo state at the start of this video:
    git clone --recurse-submodules github.com/queso-fuego/uefi-dev
    cd uefi-dev
    git checkout b966f8bcdd6c6c17982bf4cd4384e9b185ba2779
    Repo state at the end of this video:
    git checkout 50de8d4a551458b89c55748b62097a4a2d0704c5
    Join the Community Discord: / discord
    Contact:
    queso_fuego.srht.site/contact.html
    If you feel like throwing money my way:
    queso_fuego.srht.site/support.html
    Questions about setup/software/etc.?
    Check the FAQ: queso_fuego.srht.site/about.html
    Next video:
    - Setting up 4 level paging and maybe a new GDT, to use with remapping the kernel to have actual "full control" over memory when handing off control to the kernel.
    Editing/Misc. Notes:
    - Trying out Davinci Resolve's youtube 2160p export option for this, with AMD AV1 main10 encoding and AAC audio.
    If this ends up with similar (or better?...) quality than the last stuff, then I can trust resolve's defaults which make things simpler for rendering and exporting.
    When version 19 is out of beta I'll probably try the subtitle generation and see how that works to add subtitles to these videos.
    Currently, using a custom preset for AMD AV1 exports in resolve does not use the GPU or CPU correctly, and is very slow.
    The youtube 2160p preset for mp4 AV1 AMD uses the GPU and works fine, and has 40-60% lower bitrates than h265 gpu encoding, for these videos. They have a lot of static background color, and aren't very light (have much natural light), which helps AV1 save a lot of bitrate.
    For render speed, my AMD rx 7700 xt took about 50-53% of real time; 53 min for a 98 min video.
    Normally h265 takes me about 40-50% of real time, so it seems to be a win for bitrate savings.
    But hopefully this video isn't worse quality than usual from that lower bitrate. AV1 should be better quality at lower bitrates anyway, such as less than 1080p, but we'll see how that turns out.
    This opens up AV1 streaming as well, for youtube, which can use a constant bit rate and have relatively high quality 1080p+ streams with 6-8k+ bitrate.
    I'm also looking into getting a "gamer xD rgb pro n00b-pwner 3000" laptop, or another type of laptop, for windows/gaming/video editing, to take up less room than another desktop (and use less power) and to use when away from home.
    I could do things with my main/dev PC while a video is rendering/uploading/etc. and it'd let me remove dualbooting between linux/windows and have a cleaner main system with more storage, better working bluetooth and other things.
    I'm assuming nvidia nvenc has better quality for h265 and av1 hardware encoding as well, for resolve exports, or could use the cpu for better quality as time doesn't matter as much not being on my main setup. Or I can render things overnight and use more power/heat that way.
    - For programming languages, printing out types and other things would be alot easier in C++ or Rust,
    it's already built in or trivial to add, and would have made a lot of development & videos shorter and simpler, as I do a lot of printing values to the screen. Thinking about this for future projects.
    0:00:00 add runtime services and config table GUIDs/kernel parms
    0:12:04 call runtime services from loaded program
    0:18:10 add menu option to print configuration table GUIDs
    0:45:36 add menu option to print acpi info (only table signatures for now)
    1:31:08 Topics for next video
    Music credits:
    [Chiptune] Medieval: Minstrel Dance by RandomMind
    Music: www.chosic.com/free-music/all/
    #uefidev #cprogramming #acpi
  • Наука та технологія

КОМЕНТАРІ • 10

  • @ThatOSDev
    @ThatOSDev 2 дні тому +1

    Snagged the music ! THANK YOU !!
    The Laptop definately had a LOT more hardware specs. 👍

    • @QuesoFuego
      @QuesoFuego  2 дні тому +2

      Yeah, and a lot of it is probably buggy!

    • @ThatOSDev
      @ThatOSDev 2 дні тому +1

      @@QuesoFuego I'm sure you'll sort it out. :D

  • @hampus23
    @hampus23 2 дні тому

    He is back!! 🙌

  • @luandkg
    @luandkg 2 дні тому

    Welcome Back 🤩🤩🤩

  • @RealCatDev
    @RealCatDev 2 дні тому

    Finally!

  • @offlinemark
    @offlinemark 2 дні тому

    Nice one!

  • @alexmeh1919
    @alexmeh1919 2 дні тому

    💪👊🔥