ブックマーク / zenn.dev/tetsu_koba (3)

  • UEFIから起動するイメージの先頭が"MZ"である歴史的理由

    RISC-Vのカーネルイメージのエントリーポイント kernelvmのrisc-vのチャネルで「riscv環境におけるlinuxのカーネルがロードされた直後からどう動くのかを知りたい。どこのコードから読めばよいか」という質問があり、あれこれ調べるうちにここだということが判明しました。 #ifdef CONFIG_EFI /* * This instruction decodes to "MZ" ASCII required by UEFI. */ c.li s4,-13 j _start_kernel どうもEFIで起動するイメージの先頭はASCIIコードで"MZ"となっている必要があるようです。 "EFI MZ" でいろいろ検索 どうやら、EFIで起動するイメージは(EFI Application)はPE(Portable Executable)というWindowsの実行形式と同じヘッダ

    UEFIから起動するイメージの先頭が"MZ"である歴史的理由
    tmatsuu
    tmatsuu 2023/01/29
    MZ、確かによく見たマジックナンバーだが開発者の名前のイニシャルとは知らなかった。ほへー
  • 5分でざっと理解するZig言語

    Zig言語の話をするときに、初めての人にざっと読んでもらうためのページ。 Zig言語とは 静的型付きのコンパイル言語。C言語と同じ立ち位置。 ziglang.org のoverview 日Wikipedia Wikipedia 英語版 ドキュメント 標準ライブラリのリファレンス 現在の状況 まだ開発中で正式リリースには至っていない。なのでまだ破壊的変更はあり得る。 記事を書いた時点の安定版タグは0.10.0。 公式なパッケージマネージャはまだない。[1](非公式なものは複数存在する) 私が考えたキャッチコピー 「C言語が誕生したのは1972年。Zig言語はそれを2020年代の知見で再構成するもの。50年分の進化!!」 "C but with the problems fixed" 原作者 Andrew Kelly 特徴 ヘッダファイルが無い。プリプロセッサも無い。例外も無い。ガ

    5分でざっと理解するZig言語
    tmatsuu
    tmatsuu 2023/01/16
    わいわい
  • RISC-Vが面白くなってきたぞ

    (雑に書いている戯言であることを最初に断っておきます。あくまで個人の感想です。) 実は私は今までRISC-Vには懐疑的だったのですが、最近の状況を知って考えを改めました。 RISC-Vとは RISC-V(リスク ファイブ)とはオープンソースライセンスで提供されている命令セットアーキテクチャ (ISA)です。 研究にも使うことができるし、実際に多くの半導体メーカーがこの仕様に基づいたCPUを開発、出荷しています。 多くのオープンソースのOSやツールチェインもすでにRISC-Vに対応しています。 私が懐疑的だった理由 RISC-Vはオープンソースであるゆえ、自由に拡張することができます。そのため様々な派製品が登場しています。シンプルな組み込み用のマイクロコントローラからパソコン用、サーバ用、HPC用など広い分野に渡ります。 かつてRISCの考え方にもとづいて開発されたMIPSというCPUがあり

    RISC-Vが面白くなってきたぞ
    tmatsuu
    tmatsuu 2023/01/08
    盛り上がってまいりました
  • 1