Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/unikraft/unikraft

A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.
https://github.com/unikraft/unikraft

doc: Add section about symbol exporting

This patch additionally adds some cross-links between application,
internal library, and externa...

32532a8f786223495852260bc275edadd340341e authored over 6 years ago by Yuri Volchkov <[email protected]>
build: Introduce symbols exporting for each library

In order to avoid symbol conflicts and relaxing on namespacing
of library-internal symbols, each...

9aea820b54e66d7fa539428636e4d4a85c9c6e45 authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Solve some concurrency issues in _libkvmplat_vga_putc()

As terminal_row and terminal_column are static variables, concurrent or
interleaved execution of...

7685e91418db7a01435360e46e536237ab367418 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/ukalloc: fix wrong return value in uk_malloc_ifpages

uk_malloc_ifpages returned the wrong pointer, because it added
sizeof(size_t) to a pointer of ty...

f193a0c0c1e6976636ae64a5290abc170509664c authored over 6 years ago by Florian Schmidt <[email protected]>
plat/linuxu: Correct timeout calculation for ukplat_lcpu_halt_to()

time_block_until() in plat/linuxu/lcpu.c was passing the
until value directly as timeout value f...

a96b888cf022afb0050ded3ba9553405ad884b55 authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/linuxu: Add scheduling support for x86_64

We are using the software context for scheduling on plat/linuxu.

Signed-off-by: Costin Lupu <co...

72852f88d242812ffb4359b3a5292c4f0818fbb3 authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/linuxu: Add linuxu (ARM) timer support

Add ARM syscall numbers for TIMER_* syscalls.

Signed-off-by: Costin Lupu <[email protected]...

7cb8998d0951627a68baee4726681e8c5677fe7b authored over 6 years ago by Costin Lupu <[email protected]>
plat/linuxu: Add monotonic clock

Implement ukplat_monotonic_clock() with clock_gettime()
system call.

Signed-off-by: Simon Kuenz...

a1c078e4d55611f02d1b1ec7ada84a36fef4f1fe authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/linuxu: Build with memory.c from plat/common

Patch 300c8309 introduced an API for setting the memory allocator. It
added memory.c to the KVM ...

579c6d9410ce3998c8cc6504b56a27b253e3eb40 authored over 6 years ago by Florian Schmidt <[email protected]>
plat/linuxu: Add linuxu (x86_64) interrupts support

We use signals to emulate the behavior of interrupts on plat/linuxu.

To directly issue syscalls...

62917eb15ba511729d84fd18f6ace5ddd6cec0c6 authored over 6 years ago by Costin Lupu <[email protected]>
plat/linuxu: Add linuxu (x86_64) timer support

We use sys_timer_* syscalls for timer support on plat/linuxu. Te ensure
ABI compatibility with L...

925b04e2486a25e8972c926e4af4944eec7e6348 authored over 6 years ago by Costin Lupu <[email protected]>
plat/linuxu: Add linuxu (ARM) interrupts support

Changes:
- ARM syscall numbers for SIGACTION and SIGPROCMASK
- ARM asm restorer

Signed-off-by: ...

28889be1192024e9c49954fa635a3ee6be9ca887 authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: Provide time definitions in header files

Some already-defined types were not provided by some of our header
files, when they should, acco...

3b1aa5e6f45ad1cc6cd53d1be9c185a3c9f2832d authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Add strtok to string.h

Add strtok and dependent functions to string.h.
These are required for the Xen network netfront ...

b025349fc16ad8b36fe6ac9e36ce471e1b52c727 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Conform code taken from musl to our style

This fixes all style warnings and errors, as well as compiler warnings
on HASZERO (-Wparentheses...

1bc600d0ee38e1b307d33ec9e9bd1c311fa53c12 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Fix infinite loop in vsnprintf

Modified the PCHAR macro so that it evaluates its parameters exactly
once on every call. The old...

e8e1dc944ed2fb1e7cf738fdb60ccee6db276fad authored over 6 years ago by Razvan Rotaru <[email protected]>
plat/kvm: Update VGA console cursor location

Update the location of the cursor as data is written to the console.

Signed-off-by: Florian Sch...

56b37eda69ac2b08fde9d85a37bd520d2b3d1ac8 authored over 6 years ago by Florian Schmidt <[email protected]>
include/refcount: Add reference counter support

This patch provides support to track the number of reference held
to an object. The reference co...

bdb08477bc218f19c9e824b978019aae59c10865 authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/nolibc: Add time.c

Ported from Newlib glue code for Unikraft.

Signed-off-by: Costin Lupu <[email protected]>
R...

df484abae51af5da14cb7f9553c7e3ec2a37d2d1 authored over 6 years ago by Costin Lupu <[email protected]>
plat/kvm: Do not clear VGA console when at 0-position

This is a leftover from the original behavior where the screen was
cleared and written from the ...

a1e76f33070f444a8c18aa5a142b4c4a7f372837 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc, lib/argparse: Fix fall-through warning

Newer GCC complains about a switch-case without "break" or
"Fall-through" comments

Signed-off-b...

3c9a00efc21df1f7d452c878d17edaacb66c6932 authored over 6 years ago by Yuri Volchkov <[email protected]>
gitignore: add .* files and gnu-global/cscope tags

Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer...

2265fa38d7e72939b1461e30623f7b9f3c708635 authored over 6 years ago by Yuri Volchkov <[email protected]>
lib/nolibc: put time value definitions in correct files

sys/time.h provides timeval, not timespec. It doesn't provide a forward
declaration of a struct ...

ff6fa952d6d61902ff1b05f80655d9d1ba3a9b9f authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Remove unnecessary includes from header files

These are unneeded for the header files themselves, and the resulting
additional definitions if ...

28fd59e112d839118b504ad114f62bb5c55c6cf2 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Don't include std*.h in another std*.h

And deal with the fallout of that.

Signed-off-by: Florian Schmidt <[email protected]>
R...

fb1dd142d47e05b50195e085327cca16cacd9114 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: add NULL to shareddefs.h

NULL is to be defined in several header files. By putting it in
shareddefs.h, we can subsequentl...

2258dfd23de49490558860ee6dc61ab599e8c1b6 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: move shared definitions to special include file

libc mandates a bunch of definitions that defined from several header
files. At the same time, t...

fcc07a3cd9b4234d58489cfa6eb0a1064b2afd03 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: don't include stdarg.h from stdio.h

Signed-off-by: Florian Schmidt <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kue...

56fcc5a6c4cd213c1493daab17f7e4c952e55dd5 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/ukalloc: rename private data area to "priv"

Naming the private area "private" clashes with C++ code, where this is
interpreted as a keyword ...

de4e6aaa497df3ef54a13d0da5176576de52a6ea authored over 6 years ago by Florian Schmidt <[email protected]>
plat/kvm: don't crash on unhandled IRQ

Crashing on unhandled interrupts is not very helpful, because things as
simple as hitting a key ...

b576a79c464347962661b08419a1c090bc4d827a authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: Add offsetof macro to stddef.h

Simple offsetof macro wrapper needed by Xen network netfront
driver.

Signed-off-by: Razvan Cojo...

bd018af1b7b932bb0254b382171efcfce0ea2196 authored over 6 years ago by Razvan Cojocaru <[email protected]>
include/uk/arch: Rename ukarch_find_lsbit to ukarch_ffsl

A common convention for functions that find first set bit is to be named
ffs. Keeping the old na...

e793585ee421e7cf7a4bd5f0ec721e20b2a3c303 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Remove FOREACH macros from pci_bus.c

Remove FOREACH_(DRIVER|DEVICE) macros from pci_bus.c because it hides
the name of the list we ar...

70fe745472734283148d7093462d400735265371 authored over 6 years ago by Birlea Costin <[email protected]>
lib/nolibc: set license for asprintf.c

Set license as it is in COPYRIGHT file from musl and according to file
history.

Signed-off-by: ...

5d35e690481cdbd18a1b28b6198e8a78af84f920 authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: import asprintf from musl

Copied as it is from official musl git mirror
(git://git.musl-libc.org/musl)

Commit <f2c6dbe244...

3c2d0f852452d637f9f1fd1f7ff9cc6181ddb2d5 authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: use asprintf in Unikraft

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...

71565481ddd201c7a22e7cda1487b65ef54f8dab authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: use a single file for both asprintf and vasprintf

Move vasprintf function in asprintf.c and drop vasprintf.c .

Signed-off-by: Costin Lupu <costin...

a791ae68f9ef95a97be26352bd3926b2cc8d8cf2 authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: fix checkpatch issues for asprintf.c

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...

dec664c450ef2de9210895b3e0e35579dcc95367 authored over 6 years ago by Costin Lupu <[email protected]>
plat/ctors: fix double const keyword warning

The second const keyword does not make any difference. The array is
not a pointer, it's address ...

9a037ff386178b5844f569045c18d389254dee23 authored over 6 years ago by Yuri Volchkov <[email protected]>
lib/nolibc: adapt sscanf code for Unikraft

1) Use the right includes
2) (u_)quad_t => (u)int64_t
3) u_char => unsigned char
4) strto(u)q =>...

7befd42282c0dad829433872c6b8f64c7c3a8fc0 authored over 6 years ago by Yuri Volchkov <[email protected]>
lib/nolibc: fix some of checkpatch issues for sscanf

Signed-off-by: Yuri Volchkov <[email protected]>
Reviewed-by: Florian Schmidt <florian.sch...

8034be61ac17f368bd4e663014097bc5acc12772 authored over 6 years ago by Yuri Volchkov <[email protected]>
lib/nolibc: import sscanf from FreeBSD

Copied as it is from official FreeBSD git mirror
(git://github.com/freebsd/freebsd.git)

Commit ...

fc8319d3e017517ae94da71a484676b98ab71496 authored over 6 years ago by Yuri Volchkov <[email protected]>
lib/nolibc: sscanf reorganize functions inside file

Just put them in the order they are used - so no prototypes are needed

Signed-off-by: Yuri Volc...

4ae6809232942ab28ac9805127792e1cf7954ab8 authored over 6 years ago by Yuri Volchkov <[email protected]>
plat/kvm: Implement scrolling for VGA text mode

So far, when the text output overflowed the bottom of the console, it
was completely cleared, an...

1d864dfc7773f27871e242a2003d654de645b7a9 authored over 6 years ago by Florian Schmidt <[email protected]>
lib/nolibc: fix fprintf/fscanf macros

The macros for signed integers are PRIdN and PRIiN, and SCNdN
and SCNiN, respectively. The d and...

0f17323f71a7bfcfff15cd4fa9c98c2ad6809e75 authored over 6 years ago by Florian Schmidt <[email protected]>
arch: Add empty spinlocks

We use empty spinlocks for indicating where synchronization is
required. The spinlocks operatio...

0e3028f7ab9a927a44fbc5a71b8d2b7c1f2b8e7f authored over 6 years ago by Costin Lupu <[email protected]>
plat/kvm: Add VGA textmode console support.

Add an option in the KVM configuration to use VGA console.
The VGA dimensions are 25x80. Once th...

62ea308f2b2dfe86fddf5d67a2772f0d9a7d4de0 authored over 6 years ago by Dafna Hirschfeld <[email protected]>
include/essentials: Introduce __maybe_unused attribute

Introduce __maybe_unused attribute macro that should be used for cases
where the usage of a symb...

ba67983c8248984a7f594680362998a5fdedce53 authored over 6 years ago by Simon Kuenzer <[email protected]>
lib/ukalloc: Change return value of uk_getmallocsize()

Change uk_getmallocsize() to return the allocated size in
bytes instead of page order. The alloc...

8d33d70cb7b9f023ef3f93ae2fa60ff1cc2943b1 authored over 6 years ago by [email protected] <[email protected]>
lib/ukswrand: Make uk_swrand structure public

Move definition of uk_swrand struct from mwc.c to swrand.h.
This is required to enable allocatio...

c9e0d374ebb3f6c2e224f515c8d0d9bd4cbb9e3a authored over 6 years ago by Roxana Nicolescu <[email protected]>
arch: Reorganize arch folder to reflect the CPU family schema

As we have introduced UK_FAMILY for build scipts. In order to
reflect the CPU family schema, we ...

ef26265fccf50336b84963712e91d962a95291a9 authored over 6 years ago by Wei Chen <[email protected]>
arch/arm: Remove redundant space characters and blank line

There are some space characters at the end of code lines and
one more blank line at the end of t...

44e057fafa6a030036b48883a872688c98d2917a authored over 6 years ago by Wei Chen <[email protected]>
build: Introduce a new variable UK_FAMILY

This patch series modifies the folder layout organized by CPU
families like:
unikraft----arch---...

66775cd4223ffae3e80da8678668bd4790be3815 authored over 6 years ago by Wei Chen <[email protected]>
build: Adjust sed script to avoid treating arm64 as arm

We are using the sed scripts to parse target architecture from
compiler's output. But for arm64,...

1947a95acebfb95184dbe7c7759fc32c1c82a12f authored over 6 years ago by Wei Chen <[email protected]>
plat/common: virt to phys addr conversion

Platform drivers need a way to get the virtual address coverted to the
physical address. We prov...

340cd8ef60bb5b6b7dffa9366614df6768fcf403 authored over 6 years ago by Sharan Santhanam <[email protected]>
plat/kvm: Introduce virtio base driver

Currently, the virtio base driver contains the implementation only for
virtio rings. The impleme...

8c0dd8c04d7ef772dca21d461d6dabca65259313 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Move IO functions to x86_64 specific header

Some of the functions were already implemented in the CPU header, so
only the missing functions ...

7aff95dd539bb8737d7d61318f8aee4203ad1033 authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: Add strcmp function

Shamelessly taken from Mini-OS.

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by:...

d6633c9b4ba26d47a758fd8a20a9e343e95e96ed authored over 6 years ago by Costin Lupu <[email protected]>
lib/nolibc: Add va_copy

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...

998906b2207dbc789a6b0243f6ea4d770c980c65 authored over 6 years ago by Costin Lupu <[email protected]>
plat/xen: Add grant table support for Xen PV (x86_64)

Simple grant table implementation ported and adapted from Mini-OS.

Signed-off-by: Costin Lupu <...

51780f273e96086220d9954eab9a4bb115916e3b authored over 6 years ago by Costin Lupu <[email protected]>
plat: Introduce API for setting platform default allocator

Kernel subsystems may require memory allocation for internal
initializations and therefore such ...

300c8309c5124125c60b0c4af08784e7f691da0f authored over 6 years ago by Costin Lupu <[email protected]>
lib/ukboot: Set the default platform memory allocator

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...

f9dd150fe1968edf0be41d131607744c8e885feb authored over 6 years ago by Costin Lupu <[email protected]>
plat/xen: Add new memory region - demand area (x86_64)

Demand area is a new memory region used for Xen for on-demand memory
mappings. An example of use...

fe9555af5d034847eea0aafb38868ee95f7e9d0b authored over 6 years ago by Costin Lupu <[email protected]>
lib/ukalloc: Add functions for allocating/deallocating a single page

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Yuri Volchkov <yuri.volchkov@nec...

e9a1b8560233dacccdbb18176aaa900cefce16a0 authored over 6 years ago by Costin Lupu <[email protected]>
include/essentials: Add ARRAY_SIZE macro

New definition for retrieving the size for arrays.

Signed-off-by: Costin Lupu <[email protected]...

0f0d39d4e911efd0b45dbbab5eda0a7986fd088c authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Minor fix for pci_bus.h

Minor fix for properly evaluating expressions using the
PCI_REGISTER_DRIVER macro.

Signed-off-b...

b0eb8b715a5f831619e8e7e59c80b9071e9452bc authored over 6 years ago by Costin Lupu <[email protected]>
lib/ukallocbbuddy: Correct region bitmap allocation and usage

The usage of a each memory region that is added to the binary
buddy allocator is tracked with a ...

0c217e2ec772882789f0eada073334fe3aeb974b authored over 6 years ago by Costin Lupu <[email protected]>
plat/kvm: Add initial PCI bus driver for x86_64

Introduces the first & initial version of PCI bus driver.
It is able to iterate over PCI devices...

ae22ad94c54a863bbe01a23971e8d3a6ac7f634e authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/ukbus: Introduce abstraction for device buses

This library creates infrastructure to support different
devices buses within Unikraft. It provi...

1717ee104e6e4bbddd12106c2aa042165ed96b6b authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/ukmpi: Introduce mailboxes with libukmpi

Initial implementation for inter-thread communication with mailboxes.
The implmentation is based...

2d39b41ca4bbc76ba300250d056faf7ed8012ec9 authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/uklock: Introduce semaphores and mutexes with libuklock

Provides implementation for 2 types of synchronization primitives:
* Semaphore
* Mutex
They are ...

80928b92960a8d4c976e7746b3bc5557616c4a7d authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/nolibc: Introduce atoi() function

Adds atoi() conversion function to stdlib. It is based on strtoll().

Signed-off-by: Simon Kuenz...

4d06ded71ab16b191577d6a202dd3c5c60569e9f authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/ukboot: Initialize lwIP on boot (temporary)

Initializing liblwip within libukboot is temporary and will disappear as soon
as we have also an...

59fca5da6b7d57cdfbbd7017438e38b452297498 authored over 6 years ago by Sharan Santhanam <[email protected]>
lib/vfscore: introduce vfscore

The initial implementation of the vfs abstraction layer. The task of
the library is to allocate ...

146c13e043c56d3f62a1eec323821ad3ff0dd487 authored over 6 years ago by Yuri Volchkov <[email protected]>
lib/vfscore: implement fops for std(out|err)

Normally printf-alike functions are writing to the file 1 or 2. This
patch provides necessary fi...

b3fbde2b3412c5899c27059bada066f4f5db25d4 authored over 6 years ago by Yuri Volchkov <[email protected]>
plat/kvm: Disable stripping of binaries (for now, please revisit)

We have to revisit stripping of KVM binaries. We noticed that sometimes
the images are broken an...

25d91a7f5e355fece8607242074f8112fc87b41e authored over 6 years ago by Simon Kuenzer <[email protected]>
lib/ukswrand: Introduce libukswrand

Implementation a psuedo random number generator.

Signed-off-by: Simon Kuenzer <simon.kuenzer@ne...

415e1ed0584e29add3a1d71b661d26f171edb920 authored over 6 years ago by Sharan Santhanam <[email protected]>
build: Integrate fixdep in Unikraft build system

Now the tool will be called for every compiled file, modifying the
dependency file. It does 2 th...

e73fe6a31c98245c7b5bdffc023e959a069894e9 authored over 6 years ago by Yuri Volchkov <[email protected]>
doc: add CONFIG_ to example kconfig symbols

To reflect recent modifications in the build system

Signed-off-by: Yuri Volchkov <yuri.volchkov...

413d574c4daf9bb7b0d63f1b77180c7bf47b269e authored over 6 years ago by Yuri Volchkov <[email protected]>
build: add prefix CONFIG_ to every kconfig symbol

There are two reasons to have prefix CONFIG_:
1) This makes code a bit more understandable - one...

de27b01700396ac10693c60a694aed49c5415318 authored over 6 years ago by Yuri Volchkov <[email protected]>
build: import fixdep.c from linux kernel

For the sake of trace-ability, the file is imported _AS_IS_ without a
single modification.

Orig...

1cd9ff06f5fe1d0ff07feb30f841f0c47969e5c8 authored over 6 years ago by Yuri Volchkov <[email protected]>
build: save kconfig dependency files in the separate dir

The *conf utilities are generating a bunch of empty *.h files,
reflecting the configuration menu...

4b3ca9c58c188c475e9195a71a50126affdcf13f authored over 6 years ago by Yuri Volchkov <[email protected]>
plat/xen: Remove events enabling from platform code

Interrupts/events have to be enabled right before starting the
application.

Signed-off-by: Cost...

7ad89bf353929163a06d4b0cd05cafae14c3f120 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Common x86 CPU functions

CPU functions can be classified into 3 categories: (1) native functions that
are used on both pl...

cc797499aa7365e2e9edafb10dfff949f87db1ff authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Common x86 tracing functions

Current changes introduce common x86 tracing functions (stack trace, register
dumps and memory d...

495221f5a6b6164c4404ca4d72176199b0269c42 authored over 6 years ago by Costin Lupu <[email protected]>
plat/xen: Add IRQ subsystem initialization function

Introducing ukplat_irq_init function for IRQ subsystem initialization.
The IRQ subsystem might r...

3bf7ba15ac17958eec6eff876b6eb73f78eec83b authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Common x86 traps definitions and functions

Current changes introduce common x86 traps definitions and functions for both
Xen and KVM platfo...

3174af1a1ad15f238804774bbee1eacc7437b545 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Halting functions

Revisiting ukplat_lcpu_halt* functions.

Signed-off-by: Costin Lupu <[email protected]>
Revi...

0101002eea75a9ae76853f86a34c2b783cbf69b4 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Common x86 CPU definitions

Introducing new header for x86 CPU register layouts.

Signed-off-by: Costin Lupu <costin.lupu@cs...

cf2e106772931b138297b5896e7e987673c68ed3 authored over 6 years ago by Costin Lupu <[email protected]>
lib/uktimeconv: Add time conversion library

libuktimeconv adds helpers for detecting leap years,
calculating the days per month or year, and...

c0d05de0e62f087832c7913cf769a9b2bbfc1617 authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: Add KVM (x86_64) interrupts support

Changes:
* PIC support
* KVM specific traps
* traps and interrupt assembly stubs
* shared IRQ ha...

f2478ed853fc1b588ee88aedc54c47688e432d57 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Common x86 segment descriptors definitions

Introducing new header for segment descriptors.

Signed-off-by: Costin Lupu <[email protected]....

6ea24ce5fb64ede1f1e50f5b9930e87e239968cc authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: x86 hardware context definition

__regs structure represents the hardware context used in trap handling.
In assembly, structure f...

f06e61d8eb6235e95f648ecf3e417f200164ccf2 authored over 6 years ago by Costin Lupu <[email protected]>
lib/ukboot: Initialize platform time after interrupt subsystem

On some platforms the timers have a dependency to the interrupt
subsystem. Becasue of this reaso...

bc7d34a1e16ae0a506f1b166593d606d80e0499c authored over 6 years ago by Simon Kuenzer <[email protected]>
lib/ukschedcoop: Updates for inlining with uksched API changes

Changes:
- using new context callbacks abstraction
- idle thread is specific to all schedulers

...

aa06468af0fb3ed4af95e10531b902a4730dccb4 authored over 6 years ago by Costin Lupu <[email protected]>
include/uk: Introduce ukplat_irq_register()

Introduce a ukplat API registration function for interrupt
handlers.

Signed-off-by: Simon Kuenz...

9e16503578e8cab6ac012da410445b74915c576d authored over 6 years ago by Simon Kuenzer <[email protected]>
lib/uksched: Initialize `stack` with `NULL` in uk_sched_thread_create()

Initialize `stack` with `NULL` in uk_sched_thread_create() to avoid
potential bugs caused by uni...

e4efb93208d0024a6e24a0a1f988a1decc508e4c authored over 6 years ago by Simon Kuenzer <[email protected]>
plat/kvm: cleanup - remove setup.h

Signed-off-by: Costin Lupu <[email protected]>
Reviewed-by: Simon Kuenzer <simon.kuenzer@nec...

7aaab2ad433b6179f924a63a5def34ec38daf517 authored over 6 years ago by Costin Lupu <[email protected]>
plat/kvm: Add KVM (x86_64) timer support

We are using TSC clock as main timer on KVM.

Signed-off-by: Costin Lupu <[email protected]>...

790787e1acc28d4fa0b74b81163677bb9e2aa659 authored over 6 years ago by Costin Lupu <[email protected]>
plat/common: Add ukplat_lcpu_{enable,disable}_irq functions

These functions enable/disable interrupts without using the interrupt
enable flag of the CPU fla...

c2ef9131339c5178693346fecb9ba0fd06dd1649 authored over 6 years ago by Costin Lupu <[email protected]>