feat(renaser): Fase 19 — voz del userspace hacia la red (pregon)

Tres capacidades nuevas en wasm/env (12-14):

- sys_net_mac(salida) -> i32: escribe los seis bytes del MAC del
  dispositivo. 0 OK, -1 si no hay red.
- sys_net_enviar(ptr, len) -> i32: envia un frame Ethernet crudo.
  Valida rango contra la memoria lineal del modulo.
- sys_net_recibir(salida, capacidad) -> i32: drena UN paquete por
  llamada hacia el buffer del modulo. Devuelve los bytes copiados, 0
  si nada pendiente, codigos negativos diagnosticos.

Añadida red::recibir_en(buf) -> usize como su contraparte del driver:
gemelo cooperativo de drenar_rx que aterriza en un buffer del usuario.

App nueva pregon (apps/pregon/, 4.2 KiB WASM): lienzo 480x160, tipografia
8x8 (font8x8) escalada x2. Al init pide su MAC y anuncia su presencia
con un broadcast Ethernet — destino FF:FF:FF:FF:FF:FF, EtherType
experimental 0x88B5, payload ASCII 'renaser :: hola desde mi red'. En
cada tick drena un paquete con sys_net_recibir y muestra el titulo, el
MAC propio, las cuentas TX/RX, y los datos del ultimo frame entrante.

GENESIS 8 -> 9 apps (pregon en posicion 2 detras de bitacora);
CELDA_TASKBAR_ANCHO 130 -> 116 px para que las nueve pestañas + lanzador
+ reloj caben holgadas en 1280 px.

tarea_red del kernel ya no drena RX (la cola pertenece al userspace),
conserva solo el envio del ARP de prueba al arrancar.

Verificada en QEMU con -object filter-dump. El pcap captura tres frames
en orden: (1) broadcast 88B5 de pregon con su payload, (2) ARP request
del kernel, (3) ARP reply del gateway 52:55:0a:00:02:02. La consola
anuncia 'manifiesto :: 9 apps nacidas del grafo'.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-23 04:26:22 +00:00
parent b1be94e7c4
commit 07ab095d42
13 changed files with 586 additions and 39 deletions
+24
View File
@@ -584,4 +584,28 @@ sola.
---
## La voz pasa a los inquilinos — el pregón
Ayer la casa abrió la puerta lateral y saludó. Hoy ese saludo deja de ser
suyo y empieza a ser de quien la habita. Antes, sólo el conserje —el
kernel— podía asomarse a la red. Hoy le entrega tres llaves a los
inquilinos: una para preguntar «¿cuál es mi dirección?», otra para
gritar algo, otra para recoger lo que entra. Llaves pequeñas, una a la
vez, pero suficientes.
Y para estrenarlas nace un huésped nuevo, *pregón*. Su único oficio es
ese: pregonar. Apenas despierta, mira su credencial, se asoma a la
puerta y suelta su grito —«renaser :: hola desde mi red»— para que
quien quiera lo escuche. Luego se queda en su ventana, esperando lo
que llegue, y en cuanto algo entra lo apunta en su pizarra: cuántas
letras, de quién, qué tipo de cosa. Una bitácora viva, en tiempo real,
del tráfico que entra y sale.
Si uno graba lo que pasa por la red mientras la casa despierta,
encuentra exactamente tres notas: el pregón del huésped, la pregunta
del conserje, la respuesta del vecino. Tres frases bastan para mostrar
que la voz ya no es de uno solo. Ahora la casa habla en coro.
---
*El diario continúa. La próxima página la escribirá la próxima jornada.*