summaryrefslogtreecommitdiff
path: root/py/modsys.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2022-04-26 17:28:39 +1000
committerDamien George <damien@micropython.org>2022-04-28 17:23:03 +1000
commit402df833fe6da5233c83c58421e81493cda54f67 (patch)
treec56176da71b30711764decc5068fdb8ea9376c4d /py/modsys.c
parent59c5d4161120db28bc6cbc7653f2e7fdb4a87370 (diff)
py/modsys: Introduce sys.implementation._machine constant.
This contains a string useful for identifying the underlying machine. This string is kept consistent with the second part of the REPL banner via the new config option MICROPY_BANNER_MACHINE. This makes os.uname() more or less redundant, as all the information in os.uname() is now available in the sys module. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/modsys.c')
-rw-r--r--py/modsys.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/py/modsys.c b/py/modsys.c
index 12f3f0026..4ddc27fc5 100644
--- a/py/modsys.c
+++ b/py/modsys.c
@@ -36,6 +36,7 @@
#include "py/smallint.h"
#include "py/runtime.h"
#include "py/persistentcode.h"
+#include "extmod/moduplatform.h"
#include "genhdr/mpversion.h"
#if MICROPY_PY_SYS_SETTRACE
@@ -69,20 +70,24 @@ STATIC const mp_obj_tuple_t mp_sys_implementation_version_info_obj = {
3,
{ I(MICROPY_VERSION_MAJOR), I(MICROPY_VERSION_MINOR), I(MICROPY_VERSION_MICRO) }
};
+STATIC const MP_DEFINE_STR_OBJ(mp_sys_implementation_machine_obj, MICROPY_BANNER_MACHINE);
#if MICROPY_PERSISTENT_CODE_LOAD
#define SYS_IMPLEMENTATION_ELEMS \
MP_ROM_QSTR(MP_QSTR_micropython), \
MP_ROM_PTR(&mp_sys_implementation_version_info_obj), \
+ MP_ROM_PTR(&mp_sys_implementation_machine_obj), \
MP_ROM_INT(MPY_FILE_HEADER_INT)
#else
#define SYS_IMPLEMENTATION_ELEMS \
MP_ROM_QSTR(MP_QSTR_micropython), \
- MP_ROM_PTR(&mp_sys_implementation_version_info_obj)
+ MP_ROM_PTR(&mp_sys_implementation_version_info_obj), \
+ MP_ROM_PTR(&mp_sys_implementation_machine_obj)
#endif
#if MICROPY_PY_ATTRTUPLE
STATIC const qstr impl_fields[] = {
MP_QSTR_name,
MP_QSTR_version,
+ MP_QSTR__machine,
#if MICROPY_PERSISTENT_CODE_LOAD
MP_QSTR__mpy,
#endif
@@ -90,13 +95,13 @@ STATIC const qstr impl_fields[] = {
STATIC MP_DEFINE_ATTRTUPLE(
mp_sys_implementation_obj,
impl_fields,
- 2 + MICROPY_PERSISTENT_CODE_LOAD,
+ 3 + MICROPY_PERSISTENT_CODE_LOAD,
SYS_IMPLEMENTATION_ELEMS
);
#else
STATIC const mp_rom_obj_tuple_t mp_sys_implementation_obj = {
{&mp_type_tuple},
- 2 + MICROPY_PERSISTENT_CODE_LOAD,
+ 3 + MICROPY_PERSISTENT_CODE_LOAD,
{
SYS_IMPLEMENTATION_ELEMS
}