aboutsummaryrefslogtreecommitdiff
path: root/examples/zero_stream
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-07-27 16:14:15 +0200
committerHimbeer <himbeer@disroot.org>2024-07-27 16:14:15 +0200
commitb25e797dfb282e7ca54a1475107d06fb2be3c8a0 (patch)
tree590a8304d98428d235d00f8bfd07374440eb3fb1 /examples/zero_stream
parent53bd8f532da8624d6d05af3faa19e96a6e1d5331 (diff)
examples: Remove obsolete zero_stream and vfs_console example programs
Diffstat (limited to 'examples/zero_stream')
-rw-r--r--examples/zero_stream/.gitignore7
-rw-r--r--examples/zero_stream/build.zig79
-rw-r--r--examples/zero_stream/build.zig.zon71
-rw-r--r--examples/zero_stream/src/main.zig100
4 files changed, 0 insertions, 257 deletions
diff --git a/examples/zero_stream/.gitignore b/examples/zero_stream/.gitignore
deleted file mode 100644
index 69b00b1..0000000
--- a/examples/zero_stream/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-FileCopyrightText: 2024 Himbeer <himbeer@disroot.org>
-#
-# SPDX-License-Identifier: CC0-1.0
-
-# zig cache and output
-/zig-*/
-/.zig-*/
diff --git a/examples/zero_stream/build.zig b/examples/zero_stream/build.zig
deleted file mode 100644
index 9b280fb..0000000
--- a/examples/zero_stream/build.zig
+++ /dev/null
@@ -1,79 +0,0 @@
-// SPDX-FileCopyrightText: Zig contributors
-// SPDX-FileCopyrightText: 2024 Himbeer <himbeer@disroot.org>
-//
-// SPDX-License-Identifier: MIT
-
-const std = @import("std");
-
-// Although this function looks imperative, note that its job is to
-// declaratively construct a build graph that will be executed by an external
-// runner.
-pub fn build(b: *std.Build) void {
- const riscv64_freestanding = std.zig.CrossTarget{
- .cpu_arch = .riscv64,
- .os_tag = .freestanding,
- .ofmt = .elf,
- };
-
- // Standard target options allows the person running `zig build` to choose
- // what target to build for. Here we do not override the defaults, which
- // means any target is allowed, and the default is native. Other options
- // for restricting supported target set are available.
- const target = b.standardTargetOptions(.{ .whitelist = &[_]std.zig.CrossTarget{riscv64_freestanding}, .default_target = riscv64_freestanding });
-
- // Standard optimization options allow the person running `zig build` to select
- // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. Here we do not
- // set a preferred release mode, allowing the user to decide how to optimize.
- const optimize = b.standardOptimizeOption(.{});
-
- const exe = b.addExecutable(.{
- .name = "zero_stream",
- .root_source_file = b.path("src/main.zig"),
- .target = target,
- .optimize = optimize,
- });
-
- // This declares intent for the executable to be installed into the
- // standard location when the user invokes the "install" step (the default
- // step when running `zig build`).
- b.installArtifact(exe);
-
- // This *creates* a Run step in the build graph, to be executed when another
- // step is evaluated that depends on it. The next line below will establish
- // such a dependency.
- const run_cmd = b.addRunArtifact(exe);
-
- // By making the run step depend on the install step, it will be run from the
- // installation directory rather than directly from within the cache directory.
- // This is not necessary, however, if the application depends on other installed
- // files, this ensures they will be present and in the expected location.
- run_cmd.step.dependOn(b.getInstallStep());
-
- // This allows the user to pass arguments to the application in the build
- // command itself, like this: `zig build run -- arg1 arg2 etc`
- if (b.args) |args| {
- run_cmd.addArgs(args);
- }
-
- // This creates a build step. It will be visible in the `zig build --help` menu,
- // and can be selected like this: `zig build run`
- // This will evaluate the `run` step rather than the default, which is "install".
- const run_step = b.step("run", "Run the app");
- run_step.dependOn(&run_cmd.step);
-
- // Creates a step for unit testing. This only builds the test executable
- // but does not run it.
- const exe_unit_tests = b.addTest(.{
- .root_source_file = b.path("src/main.zig"),
- .target = target,
- .optimize = optimize,
- });
-
- const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests);
-
- // Similar to creating the run step earlier, this exposes a `test` step to
- // the `zig build --help` menu, providing a way for the user to request
- // running the unit tests.
- const test_step = b.step("test", "Run unit tests");
- test_step.dependOn(&run_exe_unit_tests.step);
-}
diff --git a/examples/zero_stream/build.zig.zon b/examples/zero_stream/build.zig.zon
deleted file mode 100644
index 4e661e7..0000000
--- a/examples/zero_stream/build.zig.zon
+++ /dev/null
@@ -1,71 +0,0 @@
-// SPDX-FileCopyrightText: Zig contributors
-//
-// SPDX-License-Identifier: MIT
-
-.{
- .name = "zero_stream",
- // This is a [Semantic Version](https://semver.org/).
- // In a future version of Zig it will be used for package deduplication.
- .version = "0.0.0",
-
- // This field is optional.
- // This is currently advisory only; Zig does not yet do anything
- // with this value.
- //.minimum_zig_version = "0.11.0",
-
- // This field is optional.
- // Each dependency must either provide a `url` and `hash`, or a `path`.
- // `zig build --fetch` can be used to fetch all dependencies of a package, recursively.
- // Once all dependencies are fetched, `zig build` no longer requires
- // internet connectivity.
- .dependencies = .{
- // See `zig fetch --save <url>` for a command-line interface for adding dependencies.
- //.example = .{
- // // When updating this field to a new URL, be sure to delete the corresponding
- // // `hash`, otherwise you are communicating that you expect to find the old hash at
- // // the new URL.
- // .url = "https://example.com/foo.tar.gz",
- //
- // // This is computed from the file contents of the directory of files that is
- // // obtained after fetching `url` and applying the inclusion rules given by
- // // `paths`.
- // //
- // // This field is the source of truth; packages do not come from a `url`; they
- // // come from a `hash`. `url` is just one of many possible mirrors for how to
- // // obtain a package matching this `hash`.
- // //
- // // Uses the [multihash](https://multiformats.io/multihash/) format.
- // .hash = "...",
- //
- // // When this is provided, the package is found in a directory relative to the
- // // build root. In this case the package's hash is irrelevant and therefore not
- // // computed. This field and `url` are mutually exclusive.
- // .path = "foo",
-
- // // When this is set to `true`, a package is declared to be lazily
- // // fetched. This makes the dependency only get fetched if it is
- // // actually used.
- // .lazy = false,
- //},
- },
-
- // Specifies the set of files and directories that are included in this package.
- // Only files and directories listed here are included in the `hash` that
- // is computed for this package.
- // Paths are relative to the build root. Use the empty string (`""`) to refer to
- // the build root itself.
- // A directory listed here means that all files within, recursively, are included.
- .paths = .{
- // This makes *all* files, recursively, included in this package. It is generally
- // better to explicitly list the files and directories instead, to insure that
- // fetching from tarballs, file system paths, and version control all result
- // in the same contents hash.
- "",
- // For example...
- //"build.zig",
- //"build.zig.zon",
- //"src",
- //"LICENSE",
- //"README.md",
- },
-}
diff --git a/examples/zero_stream/src/main.zig b/examples/zero_stream/src/main.zig
deleted file mode 100644
index 8e529cb..0000000
--- a/examples/zero_stream/src/main.zig
+++ /dev/null
@@ -1,100 +0,0 @@
-// SPDX-FileCopyrightText: 2024 Himbeer <himbeer@disroot.org>
-//
-// SPDX-License-Identifier: AGPL-3.0-or-later
-
-const std = @import("std");
-
-const Result = extern struct {
- value: usize,
- status: usize,
-};
-
-export fn _start() void {
- main();
-}
-
-pub fn main() void {
- const s1 = "Hello";
- asm volatile (
- \\ li a7, 100000
- \\ ecall
- :
- : [s] "{a0}" (s1.ptr),
- [n] "{a1}" (s1.len),
- : "a7"
- );
-
- const path = "/foo\x00";
- asm volatile (
- \\ li a7, 100003
- \\ li a2, 0
- \\ ecall
- :
- : [path] "{a0}" (path.ptr),
- [readFn] "{a1}" (&read),
- : "a7", "a2"
- );
-
- const s2 = "Stream resource provided";
- asm volatile (
- \\ li a7, 100000
- \\ ecall
- :
- : [s] "{a0}" (s2.ptr),
- [n] "{a1}" (s2.len),
- : "a7"
- );
-
- const handle = asm volatile (
- \\ li a7, 100001
- \\ ecall
- : [handle] "={a0}" (-> usize),
- : [path] "{a0}" (path.ptr),
- : "a7", "a1"
- );
-
- var s3_buf: [128]u8 = undefined;
- const s3 = std.fmt.bufPrint(&s3_buf, "Resource opened, handle = {d}", .{handle}) catch unreachable;
- asm volatile (
- \\ li a7, 100000
- \\ ecall
- :
- : [s] "{a0}" (s3.ptr),
- [n] "{a1}" (s3.len),
- : "a7"
- );
-
- var buf = [8]u8{ 1, 2, 3, 4, 5, 6, 7, 8 };
- asm volatile (
- \\ li a7, 100009
- \\ ecall
- :
- : [handle] "{a0}" (handle),
- [buffer] "{a1}" (&buf),
- [len] "{a2}" (buf.len - 1),
- );
-
- var s4_buf: [384]u8 = undefined;
- const s4 = std.fmt.bufPrint(&s4_buf, "Bytes after reading: {any}\r\n", .{buf}) catch unreachable;
- asm volatile (
- \\ li a7, 100000
- \\ ecall
- :
- : [s] "{a0}" (s4.ptr),
- [n] "{a1}" (s4.len),
- : "a7"
- );
-}
-
-pub export fn read(ptr: [*]u8, len: usize) Result {
- const buffer = ptr[0..len];
-
- for (buffer, 0..) |_, i| {
- buffer[i] = 0;
- }
-
- return .{
- .value = buffer.len,
- .status = 0,
- };
-}