Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-29 Thread ron minnich
I think it would be pretty easy to follow the pattern of including nix conditionally in a conf file so you would have instead of pc64 , nixpc64. I’m already doing that with my VM threads kernel — It’s an unchanged kernel with just two additional lines to add a new device and support code. There’s

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-29 Thread tlaronde
On Wed, Jan 29, 2025 at 07:14:10AM -0800, ron minnich wrote: > I agree with (1), vmx is not ready for nix yet. > as for (2), I'll take a slight change: the goal is to remove nix as an > independent entity, and subsume it in other plan 9 kernels (I prefer 9front > at this point) > > Big picture, NI

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-29 Thread ron minnich
I agree with (1), vmx is not ready for nix yet. as for (2), I'll take a slight change: the goal is to remove nix as an independent entity, and subsume it in other plan 9 kernels (I prefer 9front at this point) Big picture, NIX could be a build option for 9front, or a branch in 9front; something li

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-29 Thread tlaronde
It seems to me that the best course, for now, is the following: 1) [Using qemu or booting the kernel on baremetal] Try and correct Nix, in its present state, to achieve a running Nix, with 9front, for objtype==amd64; 2) Once 1) is achieved, start cleaning (then, at this moment, the mps stuff coul

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread ron minnich
yeah, there's a reason it is fe, and not 8, but memory fails me. See this for details of the address hole: https://en.wikipedia.org/wiki/X86-64 Charles may remember, but it goes back to the port they did in 2005. On Tue, Jan 28, 2025 at 5:08 PM Ron Minnich wrote: > btw, if you > acid 9p

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread Ron Minnich
btw, if you acid 9pc64 you can paste this right into acid src(0xf011cdee); // dumpstack+0x10 src(0xf013d50f); // panic+0x133 src(0xf0116a3b); // KADDR+0x55 src(0xf012fe55); // sigsearch+0xc8 src(0xf012fec9); // mpsinit+0x14 src(0xf011622a); // main+0x

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread ron minnich
I'd be happier to remove the mps dependency actually. the mps is long dead. But that's a bigger story. On Tue, Jan 28, 2025 at 11:24 AM Paul Lalonde wrote: > Ah, that's the code path that sent me to QEMU. > Vmx doesn't have any MP tables, which leads to this fault in mpsinit. > Ron provided thi

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread Paul Lalonde
Ah, that's the code path that sent me to QEMU. Vmx doesn't have any MP tables, which leads to this fault in mpsinit. Ron provided this minimal one for me, which I think we could learn from to adapt into vmx. The hacky version of pointing the code directly at something like this baked in didn't exc

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread tlaronde
On Tue, Jan 28, 2025 at 09:18:29AM -0800, Paul Lalonde wrote: > ktrace can generate a stack for you from that dump. The line starting with > "ktrace" is the command line (you might change 9k8cpu to the path to the > kernel file in you're not in the directory where you built it). > Then the followi

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread ori
now, if you have the ktrace, you can get a stack trace, using the first command printed in your ktrace: ktrace 9k8cpu 0xf011cdee 0xf0105d58 and then pasting in the numbers. see ktrace(1) for details. Quoth tlaro...@kergis.com: > On Tue, Jan 28, 2025 at 07:49:02AM -0800,

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread Paul Lalonde
ktrace can generate a stack for you from that dump. The line starting with "ktrace" is the command line (you might change 9k8cpu to the path to the kernel file in you're not in the directory where you built it). Then the following lines up to but not including the "cpu0: exiting" can be dropped in

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread tlaronde
On Tue, Jan 28, 2025 at 07:49:02AM -0800, Paul Lalonde wrote: > Do you have a stack for the assert, from the ktrace? > Yes, and I was wrong: it fails relatively "late" in main.c: at mpsinit. Here is the info (I added a bunch of print() before each function call to know where it stumbled upon an

Re: [9fans] Nix/regen: multiboot flags

2025-01-28 Thread tlaronde
On Tue, Jan 28, 2025 at 07:45:02AM -0800, Paul Lalonde wrote: > The multiboot specification says: If bit 16 in the ?flags? word is set, > then the fields at offsets 12-28 in the Multiboot header are valid, and the > boot loader should use them instead of the fields in the actual executable > header

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread Paul Lalonde
Do you have a stack for the assert, from the ktrace? On Tue, Jan 28, 2025 at 6:09 AM wrote: > After fixing problems leading to compiler warnings---legitimate > warnings, but even the too short binary negated unsigned 32bits values > promoted to 64 bits with leading bits hence 0 as mask were ha

Re: [9fans] Nix/regen: multiboot flags

2025-01-28 Thread Paul Lalonde
The multiboot specification says: If bit 16 in the ‘flags’ word is set, then the fields at offsets 12-28 in the Multiboot header are valid, and the boot loader should use them instead of the fields in the actual executable header to calculate where to load the OS image. I believe they are valid in

Re: [9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread Ron Minnich
vmx understands multiboot. I really dislike asserts. That assert is not helpful: what is the value of pa? What is the value of KSEG2? So if you want to start somewhere, turn that into if (pa>=KSEG2) panic("blah %p blah %p bla bl", pa, KSEG2); // still one line, but actually useful output! note th

Re: [9fans] Nix/regen: multiboot flags

2025-01-28 Thread Ron Minnich
all that does is set the lowest two bytes, which is fine. On Tue, Jan 28, 2025 at 6:09 AM wrote: > > In l32p.s, the multiboot flags in the the mbi are set as > > $0x00010007 > > but I don't find flags definitions relative to the higher word, > neither in the multiboot v1 spec, nor in the enum

[9fans] Nix/regen: multiboot flags

2025-01-28 Thread tlaronde
In l32p.s, the multiboot flags in the the mbi are set as $0x00010007 but I don't find flags definitions relative to the higher word, neither in the multiboot v1 spec, nor in the enum in multiboot.c. They are all limited to the two lowest bytes. What is the purpose of the: $0x00010007 ^ T

[9fans] Nix/regen: assert triggered; best way to track

2025-01-28 Thread tlaronde
After fixing problems leading to compiler warnings---legitimate warnings, but even the too short binary negated unsigned 32bits values promoted to 64 bits with leading bits hence 0 as mask were harmless--- now I want to look at the stumbing block. For me, under vmx, this is the assert in map.c:17:

Re: [9fans] Nix/regen: from 386 to pc and port

2025-01-21 Thread Ron Minnich
Above all, make very sure you're not leaving a system that compiles but will grenade once someone else tries it. You can test that via vmx or qemu, qemu being the better choice at the moment. On Tue, Jan 21, 2025 at 12:22 PM Ron Minnich wrote: > > I would advise one at a time. Big Bang changes ma

Re: [9fans] Nix/regen: from 386 to pc and port

2025-01-21 Thread Ron Minnich
I would advise one at a time. Big Bang changes make bisection much harder. Pick a nice short simple file you are sure you understand, and try it. Be sure to always see if the behavior in qemu or vmx is the same before and after. Small moves. On Tue, Jan 21, 2025 at 11:54 AM wrote: > > What is

[9fans] Nix/regen: from 386 to pc and port

2025-01-21 Thread tlaronde
What is in the Nix current 386 is available, on 9front, whether under /sys/src/9/pc or /sys/src/9/port. Generally 386/ -> pc/ with same filename except: 386/kbd.c -> pc/devkbd.c 386/devether.c -> port/devether.c 386/random.c -> port/random.c 386/pci.c -> port/{pci,devpci}.c What is the best Pla

Re: [9fans] Nix/regen: doc

2025-01-19 Thread Daniel Maslowski via 9fans
That is excellent, thank you! On Sun, 19 Jan 2025, 12:57 , wrote: > I have started gathering notes and references about Nix, including > (and mainly) from the mailing list, in order to put everything > together (I will add, hopefully, original content by working on the > code too à la Lions comm

[9fans] Nix/regen: doc

2025-01-19 Thread tlaronde
I have started gathering notes and references about Nix, including (and mainly) from the mailing list, in order to put everything together (I will add, hopefully, original content by working on the code too à la Lions commentary). The document (CC-BY) is here: http://notes.kergis.com/nix-os.html

Re: [9fans] NIX/regen

2025-01-15 Thread Skip Tavakkolian
What host OS? Linux is more straightforward than macOS. For macOS, the trick (at least for me) was the right incantation of the netdev and/or nic. This link was helpful: https://gitlab.com/qemu-project/qemu/-/issues/465 Anyhow, on macos this is what I use; as usual the MAC address ties things toge

Re: [9fans] NIX/regen

2025-01-14 Thread Ron Minnich
I will ask someone who does that a lot. On Tue, Jan 14, 2025 at 8:27 PM Anthony Sorace wrote: > > Do you (or anyone else) have a recipe for getting qemu to do a real netboot > (as opposed to using a tiny partition to store a 9fat and netbooting from > that)? I have tried and haven’t been able t

Re: [9fans] NIX/regen

2025-01-14 Thread Anthony Sorace
Do you (or anyone else) have a recipe for getting qemu to do a real netboot (as opposed to using a tiny partition to store a 9fat and netbooting from that)? I have tried and haven’t been able to work it out. > On Jan 14, 2025, at 15:54, Ori Bernstein wrote: > > Netbooting is comfortable for

Re: [9fans] NIX/regen

2025-01-14 Thread Ori Bernstein
Also, a reminder: the way things improve is one yak shave at a time. You try using the system for something, hit an issue or limitation, and pull out the razor. It doesn't have to happen for everything, every time, but with enough people actually adding capabilities to the system, things get bette

Re: [9fans] NIX/regen

2025-01-14 Thread Ori Bernstein
There's nothing inherently multiple core about it, and adding multicore support is probably not even that difficult. It just needs someone who cares to roll up their sleeves and write (probably a couple of hundred) lines of code. I think the trickier part will be in exposing it to the VMs, and not

Re: [9fans] NIX/regen

2025-01-14 Thread Ori Bernstein
Netbooting is comfortable for this -- both on emulation and on real hardware. On Tue, 14 Jan 2025 15:08:51 -0800 Paul Lalonde wrote: > Your email is timely. > Yes, I just got enough init going to realize that it doesn't set up the MP > tables. > No now I need to figure out a flow with qemu, I gu

Re: [9fans] NIX/regen

2025-01-14 Thread Ron Minnich
you should not need MP tables anyway. That is a 20-years-out-of-date format that rarely is correct on most modern machines. ACPI is the thing for you. 9front seems to do a good job of parsing it but, even back in the day, plan 9 handled the MADT and friends just fine. On Tue, Jan 14, 2025 at 3:09 

Re: [9fans] NIX/regen

2025-01-14 Thread Paul Lalonde
Your email is timely. Yes, I just got enough init going to realize that it doesn't set up the MP tables. No now I need to figure out a flow with qemu, I guess. On Tue, Jan 14, 2025, 3:07 p.m. Stuart Morrow wrote: > Are you aware vmx is inherently single-core > > On Tue, 14 Jan 2025 at 18:01, Pau

Re: [9fans] NIX/regen

2025-01-14 Thread Stuart Morrow
Are you aware vmx is inherently single-core On Tue, 14 Jan 2025 at 18:01, Paul Lalonde wrote: > > Credit where credit is due: this is made possible by the outstanding work the > 9front crew have done at making a stable working distribution with all the > bells and whistles - drawterm from my va

Re: [9fans] NIX/regen

2025-01-14 Thread Paul Lalonde
Credit where credit is due: this is made possible by the outstanding work the 9front crew have done at making a stable working distribution with all the bells and whistles - drawterm from my various desktop and mobile devices, git for revision management, vmx for testing, and an encouraging and use

Re: [9fans] NIX/regen

2025-01-14 Thread Ron Minnich
yiyus, don't be too hard on yourself, your logos were far better than anything anyone else did. I had forgotten the logos entirely. I found some old list traffic and forwarded it. On Tue, Jan 14, 2025 at 6:09 AM Daniel Maslowski via 9fans <9fans@9fans.net> wrote: > > Tracing back via the commit m

Re: [9fans] NIX/regen

2025-01-14 Thread Daniel Maslowski via 9fans
Tracing back via the commit message, that came via https://codereview.appspot.com/5143046 On Tue, 14 Jan 2025, 10:06 , wrote: > On Mon, Jan 13, 2025 at 10:55:30PM -0800, Ron Minnich wrote: > > Paul has taken us a whole lot further. Be sure to do a pull. 13,000 or > > so removed files later, NIX

Re: [9fans] NIX/regen

2025-01-14 Thread David du Colombier
> "Historical" note: David David du Colombier's 9legacy have patches > coming from nix applied (and some reverted) Roughly speaking, Nix is based on a version of Jim McKie's 9k from early 2011. Jim McKie later retrieved some improvements from Nix to its own 9k tree, especially since there was a l

Re: [9fans] NIX/regen

2025-01-14 Thread yy
On Tue, 14 Jan 2025 at 10:06, wrote: > > BTW, there were two "logos": And they are horrible. We were talking about having a logo with some kind of nixie tubes and I drafted those letters in a few minutes. Then someone asked for a cat and I reluctantly added that "cat" in another two minutes. And

Re: [9fans] NIX/regen

2025-01-14 Thread tlaronde
On Mon, Jan 13, 2025 at 10:55:30PM -0800, Ron Minnich wrote: > Paul has taken us a whole lot further. Be sure to do a pull. 13,000 or > so removed files later, NIX is now just a small layer over a standard > 9front distro. > BTW, there were two "logos": ./lib/nix_color.png ./lib/nix_red.png (At

Re: [9fans] NIX/regen

2025-01-13 Thread Ron Minnich
Paul has taken us a whole lot further. Be sure to do a pull. 13,000 or so removed files later, NIX is now just a small layer over a standard 9front distro. On Sun, Jan 12, 2025 at 12:07 PM Ron Minnich wrote: > > On Sun, Jan 12, 2025 at 11:56 AM wrote: > > > Note: I will work for sure some hours

Re: [9fans] NIX/regen

2025-01-12 Thread Ron Minnich
On Sun, Jan 12, 2025 at 11:56 AM wrote: > Note: I will work for sure some hours on it on week-ends, mainly on > Sundays. I may happen to work on it supplementary to that when time > permits---or because I'm bored at what I'm doing currently. So silence > from me for days will not be a sign that I

Re: [9fans] NIX/regen

2025-01-12 Thread Ron Minnich
Paul makes a critical point here. Just casting to make warnings go away is almost always a bad idea. Digging into the reason for the warning is what you want to do. Thanks! On Sun, Jan 12, 2025 at 11:01 AM Paul Lalonde wrote: > > > > On Sun, Jan 12, 2025 at 10:02 AM wrote: >> >> [I have made a

Re: [9fans] NIX/regen

2025-01-12 Thread tlaronde
On Sun, Jan 12, 2025 at 10:59:58AM -0800, Paul Lalonde wrote: > On Sun, Jan 12, 2025 at 10:02?AM wrote: > >[...] > > Note: there are a number of warnings when compiling so my next > > assignment will be to fix the compiler (assembler, compiler, linker) > > warnings before tracking panics. I pref

Re: [9fans] NIX/regen

2025-01-12 Thread Paul Lalonde
On Sun, Jan 12, 2025 at 10:02 AM wrote: > [I have made a first PR for some small fixes to nix/nix > and adding a NOTES that fixes some infelicities in the > instructions to get started] > Thank you! Infelicities is a very polite way to point out my poor note-taking skills! > Would it be possi

Re: [9fans] NIX/regen

2025-01-12 Thread tlaronde
[I have made a first PR for some small fixes to nix/nix and adding a NOTES that fixes some infelicities in the instructions to get started] I have noted that Paul Lalonde has added a script for testing the cpu kernel with vmx. There is also in usr/glenda/ mknixboot (John Floren) that could be upd

Re: [9fans] NIX/regen

2025-01-12 Thread rminnich
We've got our second contributor! For those looking for other things to do:  https://github.com/rminnich/nix-os/issues/8 thanks -- 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Ted30b22de106b2db-Mb99ee56671f0dd2afa12071f Delivery options:

Re: [9fans] NIX/regen

2025-01-11 Thread Ron Minnich
I forget the plan 9 assembly, or even if plan 9 assembly supports that syntax, but: MOVB $c, AL; .byte 0xE6 ; .byte 0xF8; .byte 03 should do the same thing On Sat, Jan 11, 2025 at 1:14 PM Ron Minnich wrote: > > Paul just fixed our multiboot header issue, it now hangs in vmx, > instead of being r

Re: [9fans] NIX/regen

2025-01-11 Thread Ron Minnich
Paul just fixed our multiboot header issue, it now hangs in vmx, instead of being rejected by vmx (side note: vmx is worth learning from). There is a little trick Geoff developed for debugging this early code, you all may have seen it: (from memory, looks like this) #define WAVE(c) MOVB $c, AL; OU

Re: [9fans] NIX/regen

2025-01-11 Thread tlaronde
On Sat, Jan 11, 2025 at 04:52:05PM +0100, tlaro...@kergis.com wrote: > [I restarted a special thread because the hier was getting deep and > mixed. Here are the last bits bits taken out and > reproduced for reference before questions.] > > >From Paul Lalonde, relating to a commit to > https://gi

Re: [9fans] NIX/regen

2025-01-11 Thread Ron Minnich
On Sat, Jan 11, 2025 at 7:53 AM wrote: > 1) Could PROCESS be whether updated or archived to not have > instructions related to an obsolete process? Is > > http://groups.google.com/group/nix-dev That file has no relevance, and should be deleted as part of regen. PRs welcome. So the answ

[9fans] NIX/regen

2025-01-11 Thread tlaronde
[I restarted a special thread because the hier was getting deep and mixed. Here are the last bits bits taken out and reproduced for reference before questions.] >From Paul Lalonde, relating to a commit to https://github.com/rminnich/nix-os (the main branch is now regen) ---8<--- #!/bin/rc git/